Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- void inttochar(char now[],int I){
- for(int i=0;i<=3;i++)now[i] = '0';now[4] = '\0';
- int ti = I;int nin = 3;
- while(ti!=0){
- now[nin--] = (ti%10)+'0';
- ti/=10;
- }
- }
- int main()
- {
- int m;
- scanf("%d",&m);
- char tries[m][5];
- int PosC[m];
- int NumC[m];
- for(int i=0;i<m;i++){
- scanf("%s",tries[i]);
- scanf("%d %d",&PosC[i],&NumC[i]);
- }
- for(int i=0;i<=9999;i++){
- char now[5];
- inttochar(now,i);
- bool possible = true;
- for(int j=0;j<m && possible;j++){
- int countpos = 0;
- for(int k=0;k<4;k++){
- if(now[k] == tries[j][k]){
- countpos++;
- }
- }
- if(countpos != PosC[j])possible = false;
- if(possible){
- int checkNum[10];for(int i=0;i<10;i++)checkNum[i] = 0;
- for(int k=0;k<4;k++){
- checkNum[tries[j][k] - '0']++;
- }
- int countNum = 0;
- for(int k=0;k<4;k++){
- if(checkNum[now[k] - '0'] > 0){
- countNum++;
- checkNum[now[k] - '0']--;
- }
- }
- if(countNum-countpos != NumC[j])possible = false;
- }
- }
- if(possible)
- printf("%s\n",now);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment