Hôm nay, Quốc Minh được thầy Phương giao cho một bài rất khó. Anh nghĩ ra được nhiều sol nhưng với độ phức tạp khác nhau. Máy chấm là máy thầy Phương, có thể xử lý n phép tính trên giây. Hỏi sol của Quốc Minh có AC hay không? Các sol của Quốc Minh có thể có độ phức tạp là: On, Onlogn, On^(3/2), On^2, On^2logn, On^3, On^4,O2^n, On! Input Bài có nhiều test: Dòng đầu mỗi test là số n (0 ≤ n ≤ 10^9). Số phép tính mà máy thầy tính được. Dòng 2 là số m, limit bài toán (0 ≤ m ≤ 10^9). Dòng 3 là độ phức tạp. Output 1 dòng nói xem Quốc Minh có AC hay ko? In AC nếu AC, in TLE nếu chạy quá thời gian. Sample Input 1000000 100 On^3 1000000 1000 On^2logn Output AC TLE

2 câu trả lời

#include<bits/stdc++.h> using namespace std; long long m, n; string s; main() { while (cin >> m >> n >> s) { bool bl=0; if (s=="On") bl=(n<=m); if (s=="Onlogn") bl=(n*log2(n)<=m); if (s=="On^(3/2)") bl=(pow(n,1.5)<=m); if (s=="On^2") bl=((n*n)<=m); if (s=="On^2logn") bl=(n*n*log2(n)<=m); if (s=="On^3" && n<=1000) bl=(n*n*n<=m); if (s=="On^4" && n<=178) bl=(n*n*n*n<=m); if (s=="O2^n" && n<=30) bl=(pow(2,n)<=m); if (s=="On!" && n<=13) { int x=1; while (n--) x*=n; bl=(x<=m); } if (bl) cout << "AC"; else cout <<"TLE"; cout << endl; } }

#include<bits/stdc++.h>

using namespace std;

long long m, n;

string s;

int main()

{

       while (cin >> m >> n >> s)

{ bool bl=0; if (s=="On") bl=(n<=m);

if (s=="Onlogn") bl=(n*log2(n)<=m);

if (s=="On^(3/2)") bl=(pow(n,1.5)<=m);

if (s=="On^2") bl=((n*n)<=m);

if (s=="On^2logn") bl=(n*n*log2(n)<=m);

if (s=="On^3" && n<=1000) bl=(n*n*n<=m);

if (s=="On^4" && n<=178) bl=(n*n*n*n<=m);

if (s=="O2^n" && n<=30) bl=(pow(2,n)<=m);

if (s=="On!" && n<=13) { int x=1; while (n--) x*=n; bl=(x<=m); }

if (bl) cout << "AC"; e

lse cout <<"TLE";

cout << endl;

}

}

Câu hỏi trong lớp Xem thêm