close
這次的題目是http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=34034
同時也是ITSA52次競賽的題目
Problem 2. 天際線資料群
題目的意思是
當測資的座標中,如果其中一個座標的x<=其他座標的x,且y座標也<=其他座標的y時
這個座標就不能稱之為"天際線資料",反之,則就是"天際線資料"
而"其他座標"的意思就是不能是x,y都跟自己一樣的座標
所以如果測資有兩個相同座標,且是天際線資料的話
那這兩個都要印出"Y"
- #include <iostream>
- #include <vector>
- using namespace std;
- int main()
- {
- int num;
- cin>>num;
- vector<vector<int> >arr;
- for(int i=0;i<num;i++)
- {
- int x,y;
- cin>>x>>y;
- vector<int>inside;
- inside.push_back(x);
- inside.push_back(y);
- arr.push_back(inside);
- }
- for(int i=0;i<num;i++)
- {
- int c=0;
- for(int j=0;j<num;j++)
- {
- if(arr[i][0]<=arr[j][0] && arr[i][1]<=arr[j][1] && i!=j)
- {
- if(arr[i][0]==arr[j][0] && arr[i][1]==arr[j][1])
- c=0;
- else
- {
- c=1;
- break;
- }
- }
- }
- if(c==1)
- cout<<"N";
- else
- cout<<"Y";
- if(i!=num-1)
- cout<<" ";
- }
- cout<<endl;
- return 0;
- }
要判斷的條件是如果arr[i]的x,y<=arr[j]的x,y,且i!=j 這項條件成立之後
進入下一行程式碼
如果arr[i]的x,y ==arr[j]的x,y 的話,讓c=0;
這樣就不會讓兩個相同的座標,都成為"非天際線資料"
文章標籤
全站熱搜
留言列表