HDU 4119--wa--求助!!!

sunbaofeng2 2012-08-20 08:30:33
#include<cstdlib>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include <algorithm>
#define M 18290
#define N 55
#define inf 0x7f7f7f7f
using namespace std;
int n,m;
char ma[N][N];
struct point
{
int x,y;
};
point p[N];
string str[101];
int cmp(const void *a,const void *b)
{
if((*(point *)a).x!=(*(point *)b).x)
return (*(point *)a).x-(*(point *)b).x;
return (*(point *)a).y-(*(point *)b).y;

}
int main()
{
//#ifndef ONLINE_JUDGE
// freopen("ex.in","r",stdin);
//#endif
int t;
scanf("%d",&t);
int ncase=0;
while(t--)
{
scanf("%d%*c",&n);
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
scanf("%c",&ma[i][j]);
scanf("%*c");
}
char c;
int k=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
scanf("%c",&c);
if(c=='*')
{
p[k].x=i,p[k].y=j;
k++;
}
}
scanf("%*c");
}


scanf("%d",&m);
for(int i=0; i<m; i++)
cin>>str[i];

string sss[4];
int temp;
for(int i=0; i<k; i++) //1
{
sss[0]+=ma[p[i].x][p[i].y];
temp=n-1-p[i].x;
p[i].x=p[i].y;
p[i].y=temp;
}
qsort(p,k,sizeof(p[0]),cmp);
for(int i=0; i<k; i++) //2
{
sss[1]+=ma[p[i].x][p[i].y];
temp=n-1-p[i].x;
p[i].x=p[i].y;
p[i].y=temp;
}

qsort(p,k,sizeof(p[0]),cmp);
for(int i=0; i<k; i++) //3
{
sss[2]+=ma[p[i].x][p[i].y];
temp=n-1-p[i].x;
p[i].x=p[i].y;
p[i].y=temp;
}
qsort(p,k,sizeof(p[0]),cmp);
for(int i=0; i<k; i++) //3
{
sss[3]+=ma[p[i].x][p[i].y];
}




string tans="";
int g=0;
for(int i=0; i<4; i++)
{

string ans="",ss,s="";
for(int j=0; j<4; j++)
s+=sss[(i+j)%4];
int len=s.size(),ok=1;
int one=0;
for(int i=0; i<len; i++)
{
if((s[i]=='.')&&one)
{
one=0;
int flag=1;

for(int i=0; i<m; i++)
if(ss==str[i])
{
flag=0;
ans+=" ";
ans+=ss;
}
if(flag)
{
ok=0;
break;
}
ss="";
}

if(s[i]!='.')
{
ss+=s[i];
one=1;
}

}

if(one&&ok)
{
int flag=1;
for(int i=0; i<m; i++)
if(ss==str[i])
{
flag=0;
ans+=" ";
ans+=ss;
}
if(flag)
{
ok=0;
}
}
// cout<<"ans="<<ans<<endl;

if(ok)
{
if(!g)
{
tans=ans;
g=1;
}
else
{
if(ans<tans)
tans=ans;
}
}

}
printf("Case #%d:",++ncase);
if(g)
cout<<tans<<endl;
else
printf(" FAIL TO DECRYPT\n");


}

return 0;
}



求高手!!!
...全文
80 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbaof 2012-09-16
  • 打赏
  • 举报
回复
不行!

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧