SHARE
TWEET

Untitled

a guest Jan 20th, 2019 12 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     #include <iostream>
  2.     #include <string>
  3.     #include <algorithm>
  4.     #include <vector>
  5.     using namespace std;
  6.  
  7.     bool controlla(string data){
  8.         int y=0,m=0,d=0;
  9.         for(int i=0;i<8;i++){
  10.             if(i>=0&&i<=1){
  11.                 d*=10;
  12.                 d+=data.at(i)-48;
  13.             }else if(i>=2&&i<=3){
  14.                 m*=10;
  15.                 m+=data.at(i)-48;
  16.             }else{
  17.                 y*=10;
  18.                 y+=data.at(i)-48;}}
  19.         if (y<=1999&&y>=1900){
  20.             if(m<=12&&m>=1){
  21.                 if((m==1||m==3||m==5||m==7||m==8||m==10||m==12)&&d<=31&&d>=1){return true;}
  22.                 if((m==4||m==6||m==9||m==11)&&d<=30&&d>=1){return true;}
  23.                 if(m==2&&d<=28&&d>=1){return true;}}}
  24.         return false;
  25.     }
  26.  
  27.     int main(){
  28.         std::vector<int> cases;
  29.         int casi=0;
  30.         string data,b,c,d;
  31.         cin >> data;
  32.         int lunghezza = data.size();
  33.         switch (lunghezza){
  34.         case 4:
  35.             b=data;
  36.             b.insert(2,"19");
  37.             for(int j = 0;  j <= 1 ; j++){
  38.                 c=b;
  39.                 if(c[j]!='0'){
  40.                 c.insert(j,"0");
  41.                 for(int i = 0; i <=1;i++){
  42.                     d=c;
  43.                     if(d[i]!='0'){
  44.                     if(controlla(d.insert(i,"0"))){
  45.                     if (find(cases.begin(), cases.end(), stoi(d)) == cases.end()){
  46.                         casi++;
  47.                         cases.push_back(stoi(d));
  48.                     }
  49.                 }}}
  50.             }}
  51.             cout << casi;
  52.             break;
  53.         case 5:
  54.             b=data;
  55.             b.insert(3,"19");
  56.             for(int i = 0; i <=2; i++){
  57.                 c=b;
  58.                 if(c[i]!='0'){
  59.                 if(controlla(c.insert(i,"0"))){
  60.                     if (find(cases.begin(), cases.end(), stoi(c)) == cases.end()){
  61.                         casi++;
  62.                         cases.push_back(stoi(c));
  63.                     }
  64.                 }}}
  65.             b=data;
  66.             b.insert(2,"1");
  67.             for(int j = 0;  j <= 1 ; j++){
  68.                 c=b;
  69.                 if(c[j]!='0'){
  70.                 c.insert(j,"0");
  71.                 for(int i = 0; i <=2;i++){
  72.                     d=c;
  73.                     if(d[i]!='0'){
  74.                     if(controlla(d.insert(i,"0"))){
  75.                         if (find(cases.begin(), cases.end(), stoi(d)) == cases.end()){
  76.                             casi++;
  77.                             cases.push_back(stoi(d));
  78.                         }}
  79.                 }}
  80.             }}
  81.             cout << casi;
  82.  
  83.             break;
  84.         case 6:
  85.             b=data;
  86.             if(controlla(b.insert(4,"19"))){
  87.                 if (find(cases.begin(), cases.end(), stoi(b)) == cases.end()){
  88.                     casi++;
  89.                     cases.push_back(stoi(b));
  90.                 }
  91.             }
  92.             c=data;
  93.             c.insert(3,"1");
  94.             for(int i = 0; i <=3;i++){
  95.                 b=c;
  96.                 if(b[i]!='0'){
  97.  
  98.             if(controlla(b.insert(i,"0"))){
  99.                 if (find(cases.begin(), cases.end(), stoi(b)) == cases.end()){
  100.                     casi++;
  101.                     cases.push_back(stoi(b));
  102.                 }
  103.             }}}
  104.             for(int j = 0;  j <= 3 ; j++){
  105.                 c=data;
  106.                 if(c[j]!='0'){
  107.                 c.insert(j,"0");
  108.                 for(int i = 0; i <=2;i++){
  109.                     b=c;
  110.                     if(b[i]!='0'){
  111.                     if(controlla(b.insert(i,"0"))){
  112.                         if (find(cases.begin(), cases.end(),stoi(b)) == cases.end()){
  113.                             casi++;
  114.                             cases.push_back(stoi(b));
  115.                         }
  116.                 }}}
  117.             }}
  118.  
  119.             cout << casi;
  120.             break;
  121.         case 7:
  122.             b=data;
  123.             if(controlla(b.insert(4,"1"))){
  124.                 if (find(cases.begin(), cases.end(), stoi(b)) == cases.end()){
  125.                     casi++;
  126.                     cases.push_back(stoi(b));
  127.                 }
  128.             }
  129.             for(int i = 0; i <=2;i++){
  130.             b=data;
  131.             if(b[i]!='0'){
  132.             if(controlla(b.insert(i,"0"))){
  133.                 if (find(cases.begin(), cases.end(), stoi(b)) == cases.end()){
  134.                     casi++;
  135.                     cases.push_back(stoi(b));
  136.                 }
  137.             }}}
  138.             cout << casi;
  139.             break;
  140.         case 8:
  141.             cout << controlla(data);
  142.             break;
  143.  
  144.         }
  145.         return 0;
  146.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top