Submission #2194664
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define int long long int dx[] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[] = {0, 1, 0, -1, 1, 1, -1, -1}; /* #define cin ifs #define cout ofs ifstream ifs("in.txt"); ofstream ofs("out.txt"); //*/ int N; int x[200], y[200]; int mod = 998244353; bool used[200][200]; signed main() { cin >> N; for (int i = 0; i < N; i++) { cin >> x[i] >> y[i]; } int ans = 1; for (int i = 0; i < N; i++) { ans *= 2; ans %= mod; } ans -= 1 + N; ans += mod; ans %= mod; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (i == j) continue; int cur = 0; int diff = 1; for (int k = 0; k < N; k++) { if (used[i][k] && used[j][k] && (x[i] - x[j]) * (y[i] - y[k]) == (x[i] - x[k]) * (y[i] - y[j])) { goto check; } } for (int k = 0; k < N; k++) { if ((x[i] - x[j]) * (y[i] - y[k]) == (x[i] - x[k]) * (y[i] - y[j])) { cur++; used[i][k] = used[k][i] = true; } } for (int k = 0; k < cur; k++) { diff *= 2; diff %= mod; } diff -= 1 + cur; diff += mod; diff %= mod; ans -= diff; ans += mod; ans %= mod; check:; } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | packer_jp |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1658 Byte |
Status | AC |
Exec Time | 18 ms |
Memory | 256 KB |
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 | 256 KB |
0_001.txt | AC | 1 ms | 256 KB |
0_002.txt | AC | 1 ms | 256 KB |
1_003.txt | AC | 1 ms | 256 KB |
1_004.txt | AC | 1 ms | 256 KB |
1_005.txt | AC | 5 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 9 ms | 256 KB |
1_008.txt | AC | 6 ms | 256 KB |
1_009.txt | AC | 8 ms | 256 KB |
1_010.txt | AC | 3 ms | 256 KB |
1_011.txt | AC | 8 ms | 256 KB |
1_012.txt | AC | 10 ms | 256 KB |
1_013.txt | AC | 5 ms | 256 KB |
1_014.txt | AC | 1 ms | 256 KB |
1_015.txt | AC | 1 ms | 256 KB |
1_016.txt | AC | 1 ms | 256 KB |
1_017.txt | AC | 16 ms | 256 KB |
1_018.txt | AC | 15 ms | 256 KB |
1_019.txt | AC | 16 ms | 256 KB |
1_020.txt | AC | 16 ms | 256 KB |
1_021.txt | AC | 18 ms | 256 KB |
1_022.txt | AC | 18 ms | 256 KB |
1_023.txt | AC | 17 ms | 256 KB |
1_024.txt | AC | 17 ms | 256 KB |
1_025.txt | AC | 15 ms | 256 KB |
1_026.txt | AC | 14 ms | 256 KB |
1_027.txt | AC | 1 ms | 256 KB |
1_028.txt | AC | 1 ms | 256 KB |
1_029.txt | AC | 14 ms | 256 KB |
1_030.txt | AC | 17 ms | 256 KB |
1_031.txt | AC | 16 ms | 256 KB |
1_032.txt | AC | 16 ms | 256 KB |
1_033.txt | AC | 16 ms | 256 KB |
1_034.txt | AC | 16 ms | 256 KB |
1_035.txt | AC | 14 ms | 256 KB |