| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1350674 | Warinchai | Snake Escaping (JOI18_snake_escaping) | C++20 | 2095 ms | 5920 KiB |
#include<bits/stdc++.h>
using namespace std;
int val[(1<<20)+5];
int solve1(string s){
reverse(s.begin(),s.end());
vector<int>pos;
int temp=0;
for(int i=0;i<s.size();i++){
if(s[i]=='1')temp+=(1<<i);
else{
if(s[i]=='?')pos.push_back(i);
}
}
int ans=0;
if(pos.empty())return val[temp];
for(int i=0;i<(1<<pos.size());i++){
int sum=temp;
for(int j=0;j<pos.size();j++){
if((i>>j)&1)sum+=(1<<pos[j]);
}
ans+=val[sum];
}
return ans;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int l,q;cin>>l>>q;
string s;cin>>s;
for(int i=0;i<(1<<l);i++)val[i]=s[i]-'0';
for(int i=0;i<q;i++){
string s;cin>>s;
cout<<solve1(s)<<"\n";
}
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
