Secret Research |
At a certain laboratory results of secret research are thoroughly encrypted. A result of a single experiment is stored as an information of its completion:
`positive result‘, `negative result‘, `experiment failed‘ or `experiment
not completed‘
The encrypted result constitutes a string of digits S, which may take one
of the following forms:
positive result S = 1 or S = 4 or S = 78 negative result S = S35 experiment failed S = 9S4 experiment not completed S = 190S
(A sample result S35 means that if we add digits 35 from the right hand side to a digit sequence then we shall get the digit sequence corresponding to a failed experiment)
You are to write a program which decrypts given sequences of digits.
Input
A integer n stating the number of encrypted results and then consecutive n lines, each containing a sequence of digits given as ASCII strings.
Output
For each analysed sequence of digits the following lines should be sent to output (in separate lines):
+ for a positive result - for a negative result * for a failed experiment ? for a not completed experiment
In case the analysed string does not determine the experiment result, a first match from the above list should be outputted.
Sample Input
4 78 7835 19078 944
Sample Output
+ - ? *
Miguel A. Revilla
2000-01-10
给一个由数字组成的字符串,判断它是题目中描述的哪中格式的,输出相应的符号即可,特别简单几分钟切掉
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 int main() 8 { 9 int n; 10 char s[10000]; 11 12 scanf("%d",&n); 13 getchar(); 14 15 while(n--) 16 { 17 gets(s); 18 int len=strlen(s); 19 if( ( len==1 && (s[0]==‘1‘||s[0]==‘4‘) ) || ( len==2 && s[0]==‘7‘ &&s[1]==‘8‘ ) ) 20 printf("+\n"); 21 else if( len>=3 && s[len-1]==‘5‘ && s[len-2]==‘3‘ ) 22 printf("-\n"); 23 else if( len>=3 && s[0]==‘9‘ && s[len-1]==‘4‘ ) 24 printf("*\n"); 25 else if( len>=4 && s[0]==‘1‘ && s[1]==‘9‘ && s[2]==‘0‘ ) 26 printf("?\n"); 27 } 28 29 return 0; 30 }