Submission #1561836
Source Code Expand
#include <algorithm> #include <cstdio> #include <cstring> #include <vector> struct Point { Point(int x = 0, int y = 0) : x(x), y(y) {} int x, y; }; Point operator - (const Point& a, const Point& b) { return Point(a.x - b.x, a.y - b.y); } int det(const Point& a, const Point& b) { return a.x * b.y - a.y * b.x; } int dot(const Point& a, const Point& b) { return a.x * b.x + a.y * b.y; } const int N = 200; const int MOD = 998244353; int pw[N + 1]; Point p[N]; int main() { #ifdef LOCAL_JUDGE freopen("C.in", "r", stdin); #endif int n; while (scanf("%d", &n) == 1) { for (int i = 0; i < n; ++ i) { scanf("%d%d", &p[i].x, &p[i].y); } pw[0] = 1; for (int i = 1; i <= n; ++ i) { pw[i] = pw[i - 1] * 2 % MOD; } int result = pw[n]; (result += MOD - 1 - n) %= MOD; for (int i = 0; i < n; ++ i) { for (int j = i + 1; j < n; ++ j) { int cnt = 0; for (int k = 0; k < n; ++ k) { cnt += det(p[k] - p[i], p[k] - p[j]) == 0 && dot(p[k] - p[i], p[k] - p[j]) < 0; } result += MOD - pw[cnt]; if (result >= MOD) { result -= MOD; } } } printf("%d\n", result); } }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | ftiasch |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1414 Byte |
Status | AC |
Exec Time | 9 ms |
Memory | 128 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:42:44: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &p[i].x, &p[i].y); ^
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 | 0 ms | 128 KB |
0_001.txt | AC | 1 ms | 128 KB |
0_002.txt | AC | 0 ms | 128 KB |
1_003.txt | AC | 0 ms | 128 KB |
1_004.txt | AC | 1 ms | 128 KB |
1_005.txt | AC | 2 ms | 128 KB |
1_006.txt | AC | 0 ms | 128 KB |
1_007.txt | AC | 4 ms | 128 KB |
1_008.txt | AC | 3 ms | 128 KB |
1_009.txt | AC | 3 ms | 128 KB |
1_010.txt | AC | 1 ms | 128 KB |
1_011.txt | AC | 3 ms | 128 KB |
1_012.txt | AC | 4 ms | 128 KB |
1_013.txt | AC | 2 ms | 128 KB |
1_014.txt | AC | 1 ms | 128 KB |
1_015.txt | AC | 5 ms | 128 KB |
1_016.txt | AC | 2 ms | 128 KB |
1_017.txt | AC | 8 ms | 128 KB |
1_018.txt | AC | 8 ms | 128 KB |
1_019.txt | AC | 8 ms | 128 KB |
1_020.txt | AC | 8 ms | 128 KB |
1_021.txt | AC | 8 ms | 128 KB |
1_022.txt | AC | 8 ms | 128 KB |
1_023.txt | AC | 8 ms | 128 KB |
1_024.txt | AC | 8 ms | 128 KB |
1_025.txt | AC | 8 ms | 128 KB |
1_026.txt | AC | 8 ms | 128 KB |
1_027.txt | AC | 9 ms | 128 KB |
1_028.txt | AC | 9 ms | 128 KB |
1_029.txt | AC | 8 ms | 128 KB |
1_030.txt | AC | 8 ms | 128 KB |
1_031.txt | AC | 8 ms | 128 KB |
1_032.txt | AC | 8 ms | 128 KB |
1_033.txt | AC | 8 ms | 128 KB |
1_034.txt | AC | 7 ms | 128 KB |
1_035.txt | AC | 8 ms | 128 KB |