Submission #1561156
Source Code Expand
#include<stdio.h> #include<map> #include<cmath> #include<stdlib.h> #include<algorithm> #include<set> #include<vector> #include<queue> using namespace std; typedef pair<int,int> pii; typedef long long ll; const int MX = 205; const int MM = 998244353; int N; pii D[MX]; pii operator-(const pii &l, const pii &r){ return pii(l.first - r.first, l.second - r.second); } ll operator /(const pii &l, const pii &r){ return (ll)l.first * r.second - (ll)l.second * r.first; } ll pw2[MX]; int main() { scanf("%d", &N); for(int i = 1; i <= N; i++){ scanf("%d%d", &D[i].first, &D[i].second); } ll ans = 1; pw2[0] = 1; for(int i = 1; i <= N; i++) pw2[i] = pw2[i-1]*2 % MM; ans = pw2[N]; ans = (ans - N*(N-1)/2 - N - 1) % MM; ans = (ans + MM) % MM; int vst[MX][MX] = {}; for(int i = 1; i <= N; i++){ for(int j = i+1; j <= N; j++){ if( vst[i][j] ) continue; vector<int> P; for(int k = 1; k <= N; k++){ if( (D[i] - D[j]) / (D[i] - D[k]) == 0 ) P.push_back(k); } int sz = P.size(); if( sz >= 3 ) ans = ((ans - pw2[sz] + sz*(sz-1)/2 + sz + 1) % MM + MM) % MM; for(int c : P){ for(int d : P) vst[c][d] = 1; } } } printf("%lld\n", ans); }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | zigui |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1240 Byte |
Status | AC |
Exec Time | 13 ms |
Memory | 384 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:33:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &N); ^ ./Main.cpp:35:43: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &D[i].first, &D[i].second); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_000.txt, 0_001.txt, 0_002.txt |
All | 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 1_026.txt, 1_027.txt, 1_028.txt, 1_029.txt, 1_030.txt, 1_031.txt, 1_032.txt, 1_033.txt, 1_034.txt, 1_035.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_000.txt | AC | 1 ms | 384 KB |
0_001.txt | AC | 1 ms | 384 KB |
0_002.txt | AC | 1 ms | 384 KB |
1_003.txt | AC | 1 ms | 384 KB |
1_004.txt | AC | 1 ms | 384 KB |
1_005.txt | AC | 4 ms | 384 KB |
1_006.txt | AC | 1 ms | 384 KB |
1_007.txt | AC | 5 ms | 384 KB |
1_008.txt | AC | 3 ms | 384 KB |
1_009.txt | AC | 4 ms | 384 KB |
1_010.txt | AC | 2 ms | 384 KB |
1_011.txt | AC | 6 ms | 384 KB |
1_012.txt | AC | 7 ms | 384 KB |
1_013.txt | AC | 4 ms | 384 KB |
1_014.txt | AC | 1 ms | 384 KB |
1_015.txt | AC | 1 ms | 384 KB |
1_016.txt | AC | 1 ms | 384 KB |
1_017.txt | AC | 13 ms | 384 KB |
1_018.txt | AC | 13 ms | 384 KB |
1_019.txt | AC | 7 ms | 384 KB |
1_020.txt | AC | 7 ms | 384 KB |
1_021.txt | AC | 8 ms | 384 KB |
1_022.txt | AC | 10 ms | 384 KB |
1_023.txt | AC | 11 ms | 384 KB |
1_024.txt | AC | 11 ms | 384 KB |
1_025.txt | AC | 11 ms | 384 KB |
1_026.txt | AC | 10 ms | 384 KB |
1_027.txt | AC | 1 ms | 384 KB |
1_028.txt | AC | 1 ms | 384 KB |
1_029.txt | AC | 10 ms | 384 KB |
1_030.txt | AC | 12 ms | 384 KB |
1_031.txt | AC | 12 ms | 384 KB |
1_032.txt | AC | 12 ms | 384 KB |
1_033.txt | AC | 12 ms | 384 KB |
1_034.txt | AC | 13 ms | 384 KB |
1_035.txt | AC | 8 ms | 384 KB |