hdu 1172

来源:互联网 发布:笔记本mac地址修改 编辑:程序博客网 时间:2024/05/29 08:52

  直接暴力,从1000到9999一个个试






#include<stdio.h>#include<string.h>struct op{int num,x,y;}p[110];int n;int judge(int x,int y){int a[4],b[4],a1[10],a2[10];memset(a1,0,sizeof(a1));memset(a2,0,sizeof(a2));int m=p[y].num,s1=0,s2=0;int i;for(i=0;i<4;i++){a[i]=x%10;b[i]=m%10;a1[a[i]]++;a2[b[i]]++;x/=10;m/=10;if(a[i]==b[i])s2++;}for(i=0;i<10;i++){if(a1[i]<a2[i])s1+=a1[i];else s1+=a2[i];}if(s1==p[y].x&&s2==p[y].y)return 1;else return 0;}int main(){int i,j,k,sum;while(scanf("%d",&n),n){sum=0;for(i=0;i<n;i++)scanf("%d%d%d",&p[i].num,&p[i].x,&p[i].y);for(i=1000;i<=9999;i++){for(j=0;j<n;j++){if(judge(i,j)==0)break;}if(j==n){sum++,k=i;}if(sum>1)break;}if(sum==1)printf("%d\n",k);else printf("Not sure\n");}return 0;}


原创粉丝点击