Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
110910 廖悦扬 挖地雷 C++ 通过 100 1 MS 300 KB 1192 2023-11-17 18:39:29

Tests(18/18):


#include <bits/stdc++.h> using namespace std; int n,bj,tot; int a[10005],vis[10005]; void search(int k) { tot=0; for(int i=k-1;i<=k;i++) if(vis[i]) tot++; if(k==n) { if(a[n]==tot) bj=1; return ; } if(a[k]-tot==1) vis[k+1]=1; if(a[k]-tot==0) vis[k+1]=0; if(a[k]-tot>=2) return ; if(a[k]-tot<0) return ; search(k+1); } int main() { cin >> n; for(int i=1;i<=n;i++) { cin >> a[i]; if(a[i]<0||a[i]>3) { cout<<"No answer"<<endl; return 0; } } if(a[1]==2) { vis[1]=1; vis[2]=1; search(2); } if(a[1]==0) search(2); if(a[1]==1) { vis[1]=1; search(2); if(!bj) { memset(vis,0,sizeof(vis)); vis[2]=1; search(2); } } if(bj) { for(int i=1;i<=n;i++) cout<<vis[i]<<" "; } else cout<<"No answer"<<endl; return 0; }


测评信息: