Submission #1080455

#TimeUsernameProblemLanguageResultExecution timeMemory
1080455kwongwengDragon 2 (JOI17_dragon2)C++17
0 / 100
4030 ms36788 KiB
#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef long long ll; typedef pair<int,int> ii; typedef long double ld; #define FOR(i,a,b) for(int i=a; i<b; i++) #define ROF(i,a,b) for(int i=a; i>=b; i--) #define pb push_back #define fi first #define se second #define ms memset typedef complex<ld> pt; int main(){ ios::sync_with_stdio(false); cout.tie(0); cin.tie(0); int n,m; cin>>n>>m; int cnt[m+1][m+1]; ms(cnt,0,sizeof(cnt)); vector<pt> p(n); vi c(n); FOR(i,0,n){ int a,b; cin>>a>>b; p[i] = {a,b}; cin>>c[i]; } ll d1,e1,d2,e2; cin>>d1>>e1>>d2>>e2; pt d = {d1,e1}, e = {d2,e2}; pt haha = {-1,0}; ld PI = arg(haha); FOR(i,0,n){ FOR(j,0,n){ if (i==j) continue; ld a = arg(d-p[i]); ld b = arg(e-p[i]); ld d = arg(p[j]-p[i]); ld A = min(a,b), B = max(a,b); if (B-A <= PI){ if (A <= d && d <= B){ cnt[c[i]][c[j]]++; } }else{ if (A > d || d > B){ cnt[c[i]][c[j]]++; } } } } //cout<<PI<<"\n"; int q; cin>>q; FOR(i,0,q){ int f,g; cin>>f>>g; cout<<cnt[f][g]<<"\n"; } return 0; }

Compilation message (stderr)

dragon2.cpp: In function 'int main()':
dragon2.cpp:24:17: warning: narrowing conversion of 'a' from 'int' to 'long double' [-Wnarrowing]
   24 |         p[i] = {a,b};
      |                 ^
dragon2.cpp:24:19: warning: narrowing conversion of 'b' from 'int' to 'long double' [-Wnarrowing]
   24 |         p[i] = {a,b};
      |                   ^
dragon2.cpp:28:13: warning: narrowing conversion of 'd1' from 'll' {aka 'long long int'} to 'long double' [-Wnarrowing]
   28 |     pt d = {d1,e1}, e = {d2,e2};
      |             ^~
dragon2.cpp:28:16: warning: narrowing conversion of 'e1' from 'll' {aka 'long long int'} to 'long double' [-Wnarrowing]
   28 |     pt d = {d1,e1}, e = {d2,e2};
      |                ^~
dragon2.cpp:28:26: warning: narrowing conversion of 'd2' from 'll' {aka 'long long int'} to 'long double' [-Wnarrowing]
   28 |     pt d = {d1,e1}, e = {d2,e2};
      |                          ^~
dragon2.cpp:28:29: warning: narrowing conversion of 'e2' from 'll' {aka 'long long int'} to 'long double' [-Wnarrowing]
   28 |     pt d = {d1,e1}, e = {d2,e2};
      |                             ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...