UVa-817 According to Bartjens
Posted asurudo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVa-817 According to Bartjens相关的知识,希望对你有一定的参考价值。
2000=要输出IMPOSSIBLE
1 #include<bits/stdc++.h> 2 #define _for(i,a,b) for(int i = (a);i < (b);i ++) 3 #pragma GCC optimize(2) 4 5 using namespace std; 6 string input; 7 set<string> rnt; 8 9 int kase = 1; 10 11 bool judge(string a) 12 { 13 stack<int> s; 14 int tmp = 0; 15 int i; 16 if(a[0]==‘0‘&&isdigit(a[1])) 17 return false; 18 for(i = 0; isdigit(a[i]); i ++) 19 { 20 tmp = tmp*10+a[i]-‘0‘; 21 } 22 s.push(tmp); 23 24 for(; a[i]!=‘=‘;) 25 { 26 tmp = 0; 27 if(a[i]==‘+‘) 28 { 29 if(a[i+1]==‘0‘&&isdigit(a[i+2])) 30 return false; 31 for(i ++; isdigit(a[i]); i ++) 32 tmp = tmp*10+a[i]-‘0‘; 33 s.push(tmp); 34 } 35 else if(a[i]==‘-‘) 36 { 37 if(a[i+1]==‘0‘&&isdigit(a[i+2])) 38 return false; 39 for(i ++; isdigit(a[i]); i ++) 40 tmp = tmp*10+a[i]-‘0‘; 41 s.push(-tmp); 42 } 43 else if(a[i]==‘*‘) 44 { 45 if(a[i+1]==‘0‘&&isdigit(a[i+2])) 46 return false; 47 for(i ++; isdigit(a[i]); i ++) 48 tmp = tmp*10+a[i]-‘0‘; 49 int tmp2 = s.top(); 50 s.pop(); 51 s.push(tmp2*tmp); 52 } 53 } 54 int sum = 0; 55 while(!s.empty()) 56 { 57 sum += s.top(); 58 s.pop(); 59 } 60 return sum==2000; 61 } 62 63 const char op[] {‘+‘,‘-‘,‘*‘}; 64 void dfs(int d,string a) 65 { 66 if(a[d+1]==‘=‘) 67 { 68 if(judge(a)) 69 { 70 rnt.insert(a); 71 } 72 return ; 73 } 74 75 if(isdigit(a[d])) 76 { 77 int i; 78 for(i = 0;i < 4;i ++) 79 { 80 if(i==0) 81 { 82 dfs(d+1,a); 83 } 84 else 85 { 86 string b = a.insert(d+1,1,op[i-1]); 87 dfs(d+1,b); 88 a.erase(d+1, 1); 89 } 90 } 91 } 92 else 93 dfs(d+1,a); 94 } 95 void solve() 96 { 97 rnt.clear(); 98 if(input.size()==2||input=="2000=") 99 return ; 100 dfs(0,input); 101 } 102 void printRnt() 103 { 104 printf("Problem %d ",kase ++); 105 for(auto s:rnt) 106 printf(" %s ",s.c_str()); 107 if(rnt.size()==0) 108 printf(" IMPOSSIBLE "); 109 } 110 int main() 111 { 112 while(getline(cin,input)) 113 { 114 if(input[0]==‘=‘) 115 break; 116 solve(); 117 printRnt(); 118 } 119 return 0; 120 }
以上是关于UVa-817 According to Bartjens的主要内容,如果未能解决你的问题,请参考以下文章
How to generate file name according to datetime in bat command
The remote certificate is invalid according to the validation procedure
Attribute class invalid for tag present according to TLD
Struts的莫名问题解决方法:Attribute class invalid for tag present according to TLD
According to TLD or attribute directive in tag file, attribute value does not accept any expressions