Facebook
From Trần Hải Đăng, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 205
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cmath>
  4. #include <cstring>
  5. #include <climits>
  6. #include <cassert>
  7. #include <string>
  8. #include <fstream>
  9. #include <sstream>
  10. #include <vector>
  11.  
  12. using namespace std;
  13. int main()
  14. {   string str,str1,str2,str3;
  15.     int h,k,j,x,m,y,count1,count2,reset,pos;
  16.     int arrx[10];
  17.     int arry[10];
  18.     int num_walls[10][2];
  19.     int fakenum_walls[10][2];
  20.     str1="";
  21.     str2="";
  22.     str3="";
  23.         count1=0;
  24.     count2=0;
  25.     ifstream inputfile&#40;"input1.txt"&#41;;
  26.     while (!inputfile.eof()){
  27.         getline(inputfile, str);
  28.     x=0;
  29.     k=0;
  30.     j=0;
  31.     m=0;
  32.     h=0;
  33.     y=0;
  34.  
  35.     reset=0;
  36.  
  37.     str3="";
  38.    
  39.         pos=str.find('=');
  40.         for(int i=0;i<pos;i++){
  41.         str3=str3+str[i];}
  42.         if (str3=="ARRAY_WALLS"){
  43.     str1="";
  44.     str2="";
  45.         while(k!=-1){
  46.        k=str.find('(',h);
  47.        if (k==-1) break;
  48.        h=k+1;
  49.        j=str.find(',',x);
  50.        x=j+1;
  51.        m=str.find(')',y);
  52.        y=m+1;
  53.        count1++;
  54.         for (int i=h;i<j;i++){
  55.             str1=str1+str[i];
  56.         }
  57.         arrx[reset]=stoi(str1);
  58.         for (int i=x;i<m;i++){
  59.             str2=str2+str[i];
  60.         }
  61.         arry[reset]=stoi(str2);
  62.  
  63.         str1="";
  64.         str2="";
  65.         reset++;
  66.         }
  67.    
  68.         for (int i=0;i<count1;i++)
  69.         num_walls[i][0]=arrx[i];
  70.         for (int i=0;i<count1;i++)
  71.         num_walls[i][1]=arry[i];
  72.         }
  73.         if (str3=="ARRAY_FAKEWALLS"){
  74.         while(k!=-1){
  75.        k=str.find('(',h);
  76.        if (k==-1) break;
  77.        h=k+1;
  78.        j=str.find(',',x);
  79.        x=j+1;
  80.        m=str.find(')',y);
  81.        y=m+1;
  82.        count2++;
  83.         for (int i=h;i<j;i++){
  84.             str1=str1+str[i];
  85.         }
  86.         arrx[reset]=stoi(str1);
  87.         for (int i=x;i<m;i++){
  88.             str2=str2+str[i];
  89.         }
  90.         arry[reset]=stoi(str2);
  91.         str1="";
  92.         str2="";
  93.         reset++;
  94.         }
  95.         for (int i=0;i<count2;i++)
  96.         fakenum_walls[i][0]=arrx[i];
  97.         for (int i=0;i<count2;i++)
  98.         fakenum_walls[i][1]=arry[i];
  99.         }
  100.        
  101.     }
  102.      for (int i=0;i<count1;i++){
  103.          cout<< num_walls[i][0]<<" "<<num_walls[i][1]<<endl;
  104.      }
  105.      for (int i=0;i<count2;i++){
  106.     cout<< fakenum_walls[i][0]<<" "<<fakenum_walls[i][1]<<endl;
  107.      }
  108.    
  109.     inputfile.close();
  110.        
  111.     return 0;
  112. }
  113.