QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#222930 | #7606. Digital Nim | ucup-team191# | WA | 15ms | 14744kb | C++14 | 1.3kb | 2023-10-21 19:48:46 | 2023-10-21 19:48:47 |
Judging History
answer
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
using ll=long long;
using pii=pair<int,int>;
using pll=pair<ll,ll>;
using vi=vector<int>;
using vl=vector<ll>;
using ld=long double;
#define all(a) begin(a),end(a)
#define pb push_back
const int N=300010,MOD=1e9+7,MD=18,MS=169,MB=1<<16;
const char en='\n';
const ll LLINF=1ll<<60;
int trim(int b,int c)
{
return b&((1<<c)-1);
}
int t;
vi dp[MD+5][MS+5];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
for (int s=0;s<=MS;++s)
{
dp[0][s].resize(1<<(s/10));
for (int b=0;b<(1<<(s/10));++b) dp[0][s][b]=b*2+(b!=(1<<(s/10))-1);
}
for (int i=1;i<=MD;++i) for (int s=0;s<=MS-9*i;++s)
{
dp[i][s].resize(1<<(s/10));
for (int b=0;b<(1<<(s/10));++b)
{
int cu=b;
for (int j=0;j<10;++j) cu=dp[i-1][s+j][trim(cu,(s+j)/10)];
dp[i][s][b]=trim(cu,s/10+1);
}
}
cin>>t;
while (t--)
{
string s;
cin>>s;
if (s.back()!='0')
{
cout<<"Algosia\n";
continue;
}
s.pop_back();
int mas=0,su=0;
for (int i=0;i<(int)s.size();++i)
{
for (int j=0;j<s[i]-'0';++j) mas=dp[s.size()-i-1][su+j][trim(mas,(su+j)/10)];
su+=s[i]-'0';
}
if (mas==(1<<(su/10))-1) cout<<"Bajtek\n";
else cout<<"Algosia\n";
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 15ms
memory: 14676kb
input:
4 1 10 42 190
output:
Algosia Bajtek Algosia Algosia
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 14ms
memory: 14744kb
input:
1 1
output:
Algosia
result:
ok single line: 'Algosia'
Test #3:
score: -100
Wrong Answer
time: 11ms
memory: 14648kb
input:
10000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia...
result:
wrong answer 200th lines differ - expected: 'Bajtek', found: 'Algosia'