#include<iostream> #include<algorithm> using namespace std; bool cmp(string s1,string s2) { if(s1.size()!=s2.size()) { return s1.size() < s2.size(); } else { for(int i = 0;i < s1.size();i ++) { if(s1[i]!=s2[i]) return s1[i] < s2[i]; } } } int main() { int t; cin >> t; int num = 1; while(t --) { string s1, s2; cin >> s1 >> s2; if(cmp(s1,s2)) { string str; cout << "Case #"<<num++<<":"<<endl; cout << "-"; reverse(s1.begin(),s1.end()); reverse(s2.begin(),s2.end()); int k = 0; for(int i = 0;i < s1.size() && i < s2.size();i ++) { k += s2[i]-'0'; if(i<s1.size()) str += char(((k+10)-(s1[i]-'0')) % 10 + '0'); if(k < 10) k = -1; else k = 0; } while(str.size()>1&&str.back()=='0') str.pop_back(); reverse(str.begin(),str.end()); cout << str << endl; } else { string str; reverse(s1.begin(),s1.end()); reverse(s2.begin(),s2.end()); cout << "Case #"<<num++<<":"<<endl; int k = 0; for(int i = 0;i < s1.size() && i < s2.size();i ++) { k += s1[i]-'0'; if(i<s2.size()) str += char(((k+10)-(s2[i]-'0')) % 10 + '0'); if(k < 10) k = -1; else k = 0; } while(str.size()>1&&str.back()=='0') str.pop_back(); reverse(str.begin(),str.end()); cout << str << endl; } } } |
Double click to view unformatted code.