fork(7) download
  1. #include<iostream>
  2. #include<vector>
  3. #include<cstdio>
  4. #include<cstring>
  5. using namespace std;
  6. typedef vector<int> vi;
  7. typedef vector<vi> vvi;
  8. int main()
  9. {
  10. vvi graph(10);
  11. graph[0].push_back(1);
  12. graph[0].push_back(4);
  13. graph[0].push_back(5);
  14. graph[1].push_back(0);
  15. graph[1].push_back(2);
  16. graph[1].push_back(6);
  17. graph[2].push_back(1);
  18. graph[2].push_back(3);
  19. graph[2].push_back(7);
  20. graph[3].push_back(2);
  21. graph[3].push_back(4);
  22. graph[3].push_back(8);
  23. graph[4].push_back(0);
  24. graph[4].push_back(3);
  25. graph[4].push_back(9);
  26. graph[5].push_back(0);
  27. graph[5].push_back(7);
  28. graph[5].push_back(8);
  29. graph[6].push_back(1);
  30. graph[6].push_back(8);
  31. graph[6].push_back(9);
  32. graph[7].push_back(2);
  33. graph[7].push_back(4);
  34. graph[7].push_back(5);
  35. graph[8].push_back(3);
  36. graph[8].push_back(5);
  37. graph[8].push_back(6);
  38. graph[9].push_back(4);
  39. graph[9].push_back(6);
  40. graph[9].push_back(7);
  41. int t,beg,len,p,q,x,f=0,i,j,k,count=0;
  42. int arr[5]={5,6,7,8,9};
  43. char s[100001],c;
  44. cin>>t;
  45. while(t--)
  46. {
  47. count=0;
  48. scanf("%s",s);
  49. len=strlen(s);
  50. if(len==1)
  51. cout<<s[0]-'A'<<endl;
  52. else
  53. {
  54. c=s[0];
  55. beg=c-'A';
  56. f=0;
  57. for(i=beg;i<=arr[beg];i=arr[beg])
  58. {
  59. count++;
  60. x=i;
  61. vi ans;
  62. ans.push_back(i);
  63. for(j=1;j<len;++j)
  64. {
  65. f=0;
  66. p=s[j]-'A';
  67. q=arr[p];
  68. for(k=0;k<graph[x].size();++k)
  69. {
  70. if(graph[x][k]==p)
  71. {
  72. x=graph[x][k];f=1;
  73. ans.push_back(p);
  74. break;
  75. }
  76. if(graph[x][k]==q)
  77. {
  78. x=graph[x][k];f=1;
  79. ans.push_back(q);
  80. break;
  81. }
  82. }
  83. if(f==0) break;
  84. }
  85. if(f==1)
  86. {
  87. for(j=0;j<ans.size();++j)
  88. cout<<ans[j];
  89. cout<<endl;
  90. break;
  91. }
  92. if(count==2)
  93. {
  94. printf("-1\n");
  95. break;
  96. }
  97. }
  98. }
  99. }
  100. return 0;
  101. }
  102.  
Success #stdin #stdout 0s 2848KB
stdin
1
A
stdout
0