记录编号 | 407398 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 美丽的感觉 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.000 s | ||
提交时间 | 2017-05-21 16:41:32 | 内存使用 | 0.00 MiB | ||
#include<iostream> #include<cstdio> #include<cctype> using namespace std; const int maxn=1001; int n; char a[maxn],b[maxn]; bool dp[maxn][maxn]; inline void in(int &x){ x=0;int f=1;char t=getchar(); while(!isdigit(t)){if(t=='-')f=-1;t=getchar();} while(isdigit(t)){x=x*10+t-48;t=getchar();} x*=f; } inline bool dfs(int x,int y){ if(!x&&!y) return 1; if(!dp[x][y]) dp[x][y]=1; else return 0; if(x>=2&&a[x-1]!=a[x]&&dfs(x-2,y)) return 1; if(y>=2&&b[y-1]!=b[y]&&dfs(x,y-2)) return 1; if(y>=1&&x>=1&&a[x]!=b[y]&&dfs(x-1,y-1)) return 1; return 0; } inline void work(){ in(n); scanf("%s%s",a+1,b+1); if(dfs(n,n)) printf("Accepted!"); else printf("Impossible!"); } inline int mian(){ freopen("card_.in","r",stdin); freopen("card_.out","w",stdout); work(); } int miku=mian(); int main(){;}