Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef pair<int, int> pii;
- pii p[8];
- int dist(pii a, pii b){
- int x = a.first-b.first;
- int y = a.second-b.second;
- return x*x + y*y;
- }
- pii vetor(pii a,pii b){
- int x = b.first-a.first;
- int y = b.second-a.second;
- return make_pair(x, y);
- }
- int pe(pii a, pii b){
- int val = a.first*b.first + a.second*b.second;
- return val;
- }
- int pv(pii a, pii b){
- int k = a.first*b.second - a.second*b.first;
- return k;
- }
- pii pm(pii a, pii b){
- int x = (a.first+b.first)/2;
- int y = (a.second+b.second)/2;
- return make_pair(x,y);
- }
- int main(){
- for(int i = 1; i <= 7; i++) cin >> p[i].first >> p[i].second;
- int ans = true;
- ans = ans && pe(vetor(p[1], p[2]), vetor(p[1], p[3])) > 0;
- //cout << ans << endl;
- ans = ans && dist(p[1], p[2]) == dist(p[1], p[3]);
- //cout << ans << endl;
- ans = ans && pv(vetor(p[2], p[3]), vetor(p[4], p[5])) == 0;
- //cout << ans << endl;
- ans = ans && pm(p[2],p[3]) == pm(p[4], p[5]);
- //cout << ans << endl;
- ans = ans && dist(p[2], p[3]) > dist(p[4], p[5]);
- //cout << ans << endl;
- ans = ans && pe(vetor(p[4], p[6]), vetor(p[2], p[3])) == 0;
- ans = ans && pe(vetor(p[5], p[7]), vetor(p[2], p[3])) == 0;
- //cout << ans << endl;
- ans = ans && dist(p[4], p[6]) == dist(p[5], p[7]);
- //cout << ans << endl;
- ans = ans && pv(vetor(p[1], p[6]), vetor(p[2], p[3])) != 0;
- if(ans) cout << "S\n";
- else cout << "N\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment