C - L1
Crawling in process...
Crawling failed
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
Input
each test case contains two numbers A and B.
Output
for each case, if A is equal to B, you should print "YES", or print "NO".
Sample Input
1 2 2 2 3 3 4 3
Sample Output
NO YES YES NO#include <iostream> #include <cstdio> #include <set> #include <vector> #include <map> #include <algorithm> #include <cstring> #include <string> #include <cmath> using namespace std; string delef0(string s) { int i = 0; while (s[i] == '0') { s.erase(i, 1); if (s[i] != '0') { break; } } return s; } string delel0(string s) { int k = -1; for (int i=0; i<s.size(); i++) { if (s[i] == '.') { k = i; } } if (k != -1) { int i = s.size()-1; while (s[i] == '0') { s.erase(i); i = s.size()-1; if (s[i] != '0') { break; } } if (k == i) { s.erase(i); } } return s; } int main() { string s1, s2; while (cin >> s1) { cin >> s2; if (s1[0] == '-' && s2[0] == '-') { s1.erase(0, 1); s2.erase(0, 1); } if (s1[0] != s2[0]) { printf("NO\n"); } else { s1 = delef0(s1); s2 = delef0(s2); s1 = delel0(s1); s2 = delel0(s2); if (s1 == s2) { cout << "YES" << endl; } else { cout << "NO" << endl; } } } return 0; }
第一次用string,豪爽~