fork download
  1. #include<iostream>
  2. #include<string.h>
  3. using namespace std;
  4. int main()
  5. {
  6. int t;
  7. cin>>t;
  8. int flag=1;
  9. string w;
  10. for(int k=1;k<=t;k++)
  11. {
  12. cin>>w;
  13. cout<<"Case #"<<k<<": ";
  14. string temp=w;
  15. for(int i=0;i<w.length();i++)
  16. {
  17. temp[i]='0';
  18. }
  19. temp[1]=w[0];
  20. int temp_value;
  21. temp[w.length()-2]=w[w.length()-1];
  22. //cout<<value('A')<<" "<<value('B')<<endl;
  23. for(int i=1;i<w.length()-2;i++)
  24. {
  25. if((int)(temp[i]-'A')>(int)(w[i+1]-'A'))
  26. {
  27. temp_value=(int)(w[i+1]-'A')+26-(int)(temp[i]-'A');
  28. //cout<<temp_value<<endl;
  29. if(temp[i+2]=='0')
  30. temp[i+2]=(char)((int)'A'+temp_value);
  31. }
  32.  
  33. else{
  34. temp_value=(int)(w[i+1]-'A')-(int)(temp[i]-'A');
  35. //cout<<temp_value<<endl;
  36. if(temp[i+2]=='0')
  37. temp[i+2]=(char)((int)'A'+temp_value);
  38. }
  39. }
  40. for(int i=w.length()-2;i>1;i--)
  41. {
  42. if((int)(temp[i]-'A')>(int)(w[i-1]-'A'))
  43. {
  44. temp_value=(int)(w[i-1]-'A')+26-(int)(temp[i]-'A');
  45. //cout<<temp_value<<endl;
  46. if(temp[i-2]=='0')
  47. temp[i-2]=(char)((int)'A'+temp_value);
  48. }
  49.  
  50. else{
  51. temp_value=(int)(w[i-1]-'A')-(int)(temp[i]-'A');
  52. //cout<<temp_value<<endl;
  53. if(temp[i-2]=='0')
  54. temp[i-2]=(char)((int)'A'+temp_value);
  55. }
  56. }
  57. for(int i=0;i<temp.length();i++)
  58. {
  59. if(temp[i]=='0')
  60. {
  61. flag=0;
  62. break;
  63. }
  64. }
  65. if(flag==1)
  66. cout<<temp<<endl;
  67. else cout<<"AMBIGUOUS"<<endl;
  68. flag=1;
  69. }
  70. return 0;
  71. }
Success #stdin #stdout 0.01s 5324KB
stdin
100
OMDU
BCB
YSNU
RYR
DOBH
EHRH
YWLA
TTTT
THND
KBQK
RSQF
OZTK
KUVT
AAZZ
XZQR
GV
BVYV
ZNNC
FHHY
ZNZV
II
KTVW
WTSS
CUGT
POTI
ZOLO
PEP
PJUM
NTN
PVIJ
PDLZ
EC
JRVG
KEZR
UK
MEYW
ZQTQ
OBDO
SPQT
SFDY
AAAA
CS
HJYE
LI
GDBC
SD
JF
NLKF
VB
AH
MSPU
ESFK
VBGC
SZVQ
QWSV
CLC
XEX
RWEM
YIPQ
QHXI
NA
UCHC
TIGY
ZXZ
ARIM
AAA
TAWN
QVAP
PCLU
ID
ZVLH
RRKR
JJ
QUDI
XJBG
PAVK
KSJJ
TAUZ
MYCU
CY
RS
KH
DUD
KIK
NYLT
ZZ
RR
CBWY
RBWR
TJT
AA
AEXC
TBT
PX
YYYY
VSV
WLW
DPBU
BRDP
QG
stdout
Case #1: SOUP
Case #2: AMBIGUOUS
Case #3: YYUP
Case #4: AMBIGUOUS
Case #5: HDHY
Case #6: AEHN
Case #7: WYAN
Case #8: ATTA
Case #9: ETDU
Case #10: RKKG
Case #11: NRFZ
Case #12: POKF
Case #13: BKTL
Case #14: BAZZ
Case #15: IXRT
Case #16: VG
Case #17: ABVX
Case #18: LZCO
Case #19: JFYC
Case #20: SZVA
Case #21: II
Case #22: XKWL
Case #23: BWSW
Case #24: BCTE
Case #25: GPIE
Case #26: AZOM
Case #27: AMBIGUOUS
Case #28: XPMF
Case #29: AMBIGUOUS
Case #30: MPJT
Case #31: EPZW
Case #32: CE
Case #33: LJGM
Case #34: NKRP
Case #35: KU
Case #36: IMWM
Case #37: AZQU
Case #38: NOOP
Case #39: WSTY
Case #40: HSYL
Case #41: AAAA
Case #42: SC
Case #43: FHER
Case #44: IL
Case #45: BGCV
Case #46: DS
Case #47: FJ
Case #48: GNFX
Case #49: BV
Case #50: HA
Case #51: YMUD
Case #52: IEKB
Case #53: ZVCL
Case #54: JSQD
Case #55: BQVC
Case #56: AMBIGUOUS
Case #57: AMBIGUOUS
Case #58: KRMN
Case #59: SYQR
Case #60: ZQIH
Case #61: AN
Case #62: AUCN
Case #63: KTYN
Case #64: AMBIGUOUS
Case #65: FAMI
Case #66: AMBIGUOUS
Case #67: NTND
Case #68: GQPK
Case #69: IPUW
Case #70: DI
Case #71: OZHM
Case #72: ARRT
Case #73: JJ
Case #74: MQIN
Case #75: DXGE
Case #76: QPKG
Case #77: JKJZ
Case #78: BTZB
Case #79: EMUQ
Case #80: YC
Case #81: SR
Case #82: HK
Case #83: AMBIGUOUS
Case #84: AMBIGUOUS
Case #85: FNTY
Case #86: ZZ
Case #87: RR
Case #88: DCYU
Case #89: KRRF
Case #90: AMBIGUOUS
Case #91: AA
Case #92: CACX
Case #93: AMBIGUOUS
Case #94: XP
Case #95: AYYA
Case #96: AMBIGUOUS
Case #97: AMBIGUOUS
Case #98: VDUY
Case #99: CBPC
Case #100: GQ