fork download
  1. #include <algorithm>
  2. #include <cstdio>
  3. #include <cmath>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <climits>
  7. #include <iostream>
  8. #include <string>
  9. #include <sstream>
  10. #include <vector>
  11. #include <stack>
  12. #include <queue>
  13. #include <deque>
  14. #include <set>
  15. #include <map>
  16.  
  17. using namespace std;
  18.  
  19. int M, N;
  20. string s;
  21. #define FOR(i, N) for(int i = 0; i < N; i++)
  22. #define FOR1e(i, N) for(int i = 1; i <= N; i++)
  23. #define REP(i, M, N) for(int i = M; i < N; i++)
  24. #define REPe(i, M, N) for(int i = M; i <= N; i++)
  25. #define sc(N) scanf("%d", &N)
  26. #define scsc(M, N) scanf("%d %d", &M, &N)
  27. #define gt(s) getline(cin, s)
  28. #define ll long long
  29. #define vi vector <int>
  30. #define pii pair <int, int>
  31. #define mp make_pair
  32. #define pb push_back
  33. #define mx 25
  34.  
  35. int main(){
  36. // freopen("in.txt", "r", stdin);
  37. string str;
  38. while(cin >> str){
  39. bool b = 0;
  40. FOR(i, str.size())
  41. if(!isdigit(str[i]) && str[i] != '-' && str[i] != 'X')
  42. {b = 1; break;}
  43. if(b) {printf("%s is incorrect.\n", str.c_str()); continue;}
  44. vector <int> v;
  45. int sum = 0;
  46. FOR(i, str.size()){
  47. if(isdigit(str[i])) sum += (int)str[i]-'0', v.push_back(sum);
  48. else if(str[i] == 'X') sum += 10, v.push_back(sum);
  49. }
  50. int sum_2 = 0;
  51. FOR(i, v.size()) sum_2 += v[i];
  52. if(sum_2%11 == 0) printf("%s is correct.\n", str.c_str());
  53. else printf("%s is incorrect.\n", str.c_str());
  54. }
  55. return 0;
  56. }
Success #stdin #stdout 0s 3432KB
stdin
0-89237-010-6
0-8306-3637-4      
  0-06-017758-6
    This_is_garbage
1-56884-030-6
    0-8230-2571-3
    0-345-31386-0
    0-671-88858-7
    0-8104-5687-7
    0-671-74119-5
    0-812-52030-0
    0-345-24865-1-150
0-452-26740-4
    0-13-139072-4
    0-1315-2447-X
stdout
0-89237-010-6 is correct.
0-8306-3637-4 is correct.
0-06-017758-6 is correct.
This_is_garbage is incorrect.
1-56884-030-6 is correct.
0-8230-2571-3 is correct.
0-345-31386-0 is correct.
0-671-88858-7 is correct.
0-8104-5687-7 is correct.
0-671-74119-5 is correct.
0-812-52030-0 is correct.
0-345-24865-1-150 is incorrect.
0-452-26740-4 is correct.
0-13-139072-4 is correct.
0-1315-2447-X is correct.