标签:mes else iostream title inpu panel answer not miss
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 0 Accepted Submission(s): 0
Special Judge
题意就是让你在?里添加上合适的1或者+,并判断该式子是否合法(语序有一点错误)
注意在类似 +0? 的情况下, ? 须被替换为 + 或 * ,其余情况直接将 ? 替换为非零数字就好。替换完成后判断一下是否合法。
———HDU题解
全靠队友一条大腿,当时WA到死都没找到0??1这个错误
1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 6 char ch[510]; 7 int ch1[510]; 8 int main() 9 { 10 ios::sync_with_stdio(false); 11 int t; 12 cin >> t; 13 while (t--) 14 { 15 cin >> ch; 16 bool flag = 0; 17 for (int i = 0; i < strlen(ch); i++) 18 { 19 if (i > 1 && (ch[i - 2] == ‘+‘ || ch[i - 2] == ‘*‘) && ch[i - 1] == ‘0‘ && ch[i] == ‘?‘) 20 ch[i] = ‘+‘; 21 if (i == 1 && ch[i] == ‘?‘ && ch[i - 1] == ‘0‘) 22 ch[i] = ‘+‘; 23 else if(ch[i] == ‘?‘) 24 ch[i] = ‘1‘; 25 } 26 if (ch[strlen(ch) - 1] == ‘+‘ || ch[strlen(ch) - 1] == ‘*‘ || ch[0] == ‘+‘ || ch[0] == ‘*‘) 27 flag = 1; 28 else 29 { 30 for (int i = 0; i < strlen(ch); i++) 31 { 32 if (i == 1 && ch[i - 1] == ‘0‘ && ch[i] >= ‘0‘ && ch[i] <= ‘9‘) 33 flag = 1; 34 else if (i > 1 && ch[i - 1] == ‘0‘ && (ch[i - 2] == ‘+‘ || ch[i - 2] == ‘*‘) && ch[i] >= ‘0‘ && ch[i] <= ‘9‘) 35 flag = 1; 36 else if ((ch[i - 1] == ‘+‘ || ch[i - 1] == ‘*‘) && (ch[i] == ‘+‘ || ch[i] == ‘*‘)) 37 flag = 1; 38 } 39 } 40 if(flag) 41 cout << "IMPOSSIBLE" << endl; 42 else 43 cout << ch << endl; 44 } 45 return 0; 46 }
HDU6342-2018ACM暑假多校联合训练4-1011-Problem K. Expression in Memories
标签:mes else iostream title inpu panel answer not miss
原文地址:https://www.cnblogs.com/qq965921539/p/9404171.html