Submission #1675027
Source Code Expand
#include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int MAX_N = 205, MOD = 998244353; class Point { public: int x, y; Point(int _x = 0, int _y = 0) { x = _x, y = _y; } inline friend Point operator + (const Point &a, const Point &b) { return Point(a.x + b.x, a.y + b.y); } inline friend Point operator - (const Point &a, const Point &b) { return Point(a.x - b.x, a.y - b.y); } } P[MAX_N]; int pw[MAX_N]; int cross(Point a, Point b) { return a.x * b.y - a.y * b.x; } int vis[MAX_N][MAX_N], st[MAX_N]; int main() { int N; scanf("%d", &N); for (int i = 1; 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] + pw[i - 1]) % MOD; int result = pw[N] - 1; for (int i = 1; i <= N; ++i) for (int j = i + 1; j <= N; ++j) if (!vis[i][j]) { int top = 0; for (int k = 1; k <= N; ++k) if (cross(P[k] - P[i], P[k] - P[j]) == 0) st[++top] = k; result = (result - pw[top] + 1 + top) % MOD; for (int k1 = 1; k1 <= top; ++k1) for (int k2 = 1; k2 <= top; ++k2) vis[st[k1]][st[k2]] = 1; } result = (result - N) % MOD; printf("%d\n", (result + MOD) % MOD); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | kiiiiii |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1273 Byte |
Status | AC |
Exec Time | 7 ms |
Memory | 384 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:32:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &N); ^ ./Main.cpp:33:63: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for (int i = 1; i <= N; ++i) 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 | 1 ms | 128 KB |
0_001.txt | AC | 1 ms | 128 KB |
0_002.txt | AC | 1 ms | 128 KB |
1_003.txt | AC | 1 ms | 128 KB |
1_004.txt | AC | 1 ms | 128 KB |
1_005.txt | AC | 2 ms | 256 KB |
1_006.txt | AC | 1 ms | 128 KB |
1_007.txt | AC | 3 ms | 256 KB |
1_008.txt | AC | 2 ms | 256 KB |
1_009.txt | AC | 2 ms | 256 KB |
1_010.txt | AC | 1 ms | 256 KB |
1_011.txt | AC | 3 ms | 256 KB |
1_012.txt | AC | 4 ms | 256 KB |
1_013.txt | AC | 2 ms | 256 KB |
1_014.txt | AC | 1 ms | 128 KB |
1_015.txt | AC | 1 ms | 256 KB |
1_016.txt | AC | 1 ms | 256 KB |
1_017.txt | AC | 7 ms | 384 KB |
1_018.txt | AC | 7 ms | 384 KB |
1_019.txt | AC | 4 ms | 384 KB |
1_020.txt | AC | 4 ms | 256 KB |
1_021.txt | AC | 4 ms | 384 KB |
1_022.txt | AC | 5 ms | 384 KB |
1_023.txt | AC | 6 ms | 384 KB |
1_024.txt | AC | 6 ms | 384 KB |
1_025.txt | AC | 6 ms | 384 KB |
1_026.txt | AC | 6 ms | 384 KB |
1_027.txt | AC | 1 ms | 384 KB |
1_028.txt | AC | 1 ms | 384 KB |
1_029.txt | AC | 6 ms | 384 KB |
1_030.txt | AC | 7 ms | 384 KB |
1_031.txt | AC | 7 ms | 384 KB |
1_032.txt | AC | 7 ms | 384 KB |
1_033.txt | AC | 7 ms | 384 KB |
1_034.txt | AC | 7 ms | 384 KB |
1_035.txt | AC | 4 ms | 384 KB |