문제링크 : https://www.acmicpc.net/problem/11332
#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define MAX 100000000
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(0);
int C;
LL N, T, L;
string S;
cin >> C;
while(C--)
{
cin >> S >> N >> T >> L;
if(S == "O(N)")
{
if(N*T <= (L * MAX))
{
cout << "May Pass.\n";
}
else
{
cout << "TLE!" <<"\n";
}
}
else if (S == "O(N^2)")
{
if (N >= 31623) {
cout << "TLE!\n";
}
else
{
if(N * N * T <= (L * MAX))
{
cout << "May Pass.\n";
}
else
{
cout << "TLE!\n";
}
}
}
else if (S == "O(N^3)")
{
if (N >= 1001) {
cout << "TLE!\n";
}
else
{
if(N * N * N * T <= (L * MAX))
{
cout << "May Pass.\n";
}
else
{
cout << "TLE!\n";
}
}
}
else if (S == "O(2^N)")
{
if (N >= 30) {
cout << "TLE!\n";
}
else
{
long long result = 1;
for(int i=0; i<N; i++)
{
result *=2;
}
if(result * T <= (L * MAX))
{
cout << "May Pass.\n";
}
else
{
cout << "TLE!\n";
}
}
}
else if (S == "O(N!)")
{
if (N >= 13) {
cout << "TLE!\n";
}
else
{
LL result = 1;
for(LL i=1; i<=N; i++)
{
result*=i;
}
if(result * T <= (L * MAX))
{
cout << "May Pass.\n";
}
else
{
cout << "TLE!\n";
}
}
}
}
return 0;
}
정신건강에 해로운 문제다..
'백준 > 실버' 카테고리의 다른 글
[백준 11123번] 양 한마리... 양 두마리... (C++) (0) | 2023.02.20 |
---|---|
[백준 3273번] 두 수의 합 (0) | 2023.02.19 |
[백준 16401번] 과자 나눠주기 (C++) (0) | 2023.02.13 |
[백준 21314번] 민겸 수 (C++) (0) | 2023.02.12 |
[백준 17204번] 죽음의 게임 (C++) (0) | 2023.02.11 |