題目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=417

決定矩形的座標是要輸入

左上角跟右下角,所以要判斷時,

x要大於左上角的x,而y要小於左上角的y

且x要小於右下角的x,而y要大於右下角的y

程式碼

  1. #include<iostream>  
  2. #include<vector>  
  3. using namespace std;  
  4. int main()  
  5. {  
  6.     vector<vector<double> >arr;  
  7.     char r;  
  8.     while(cin>>r)  
  9.     {  
  10.         if(r=='*')  
  11.             break;  
  12.         else  
  13.         {  
  14.             vector<double>inside;  
  15.             double input;  
  16.             for(int i=0;i<4;i++)  
  17.             {  
  18.                 cin>>input;  
  19.                 inside.push_back(input);  
  20.             }  
  21.             arr.push_back(inside);  
  22.         }  
  23.     }  
  24.     int sum=0;  
  25.     double x,y;  
  26.     while(1)  
  27.     {  
  28.         cin>>x>>y;  
  29.         if(x==9999.9 && y==9999.9)  
  30.             break;  
  31.         else  
  32.         {  
  33.             sum++;  
  34.             int c=0;  
  35.             for(int i=0;i<arr.size();i++)  
  36.             {  
  37.                 if(x>arr[i][0] && y<arr[i][1] && x<arr[i][2] && y>arr[i][3])  
  38.                 {  
  39.                     cout<<"Point "<<sum<<" is contained in figure "<<i+1<<endl;  
  40.                 }  
  41.                 else  
  42.                     c++;  
  43.             }  
  44.             if(c>=arr.size())  
  45.                 cout<<"Point "<<sum<<" is not contained in any figure"<<endl;  
  46.         }  
  47.     }  
  48.     return 0;  
  49. }
文章標籤
創作者介紹

cychss6305的部落格

cychss6305 發表在 痞客邦 PIXNET 留言(0) 人氣()