Submission #1632939
Source Code Expand
#include <bits/stdc++.h> using namespace std; const int Mod = 998244353, Nmax = 205; struct Fractie { int up, down; bool operator < (const Fractie &other) const { return up * other.down < down * other.up; } bool operator == (const Fractie &other) const { return up * other.down == down * other.up; } } v[Nmax]; struct Point { int x, y; bool operator < (const Point &other) const { if(x == other.x) return y < other.y; return x < other.x; } } a[Nmax]; int pw[Nmax], i, n, ans, j, k; int main() { // freopen("input", "r", stdin); cin >> n; for(i=1; i<=n; ++i) cin >> a[i].x >> a[i].y; sort(a+1, a+n+1); pw[0] = 1; for(i=1; i<=n; ++i) pw[i] = pw[i-1] * 2 % Mod; ans = pw[n] - n - 1; for(i=1; i<=n; ++i) { for(j=i+1; j<=n; ++j) v[j-i] = {a[j].y - a[i].y, a[j].x - a[i].x}; sort(v+1, v+n-i+1); for(j=1; j<=n-i; ++j) { k = j; while(k < n-i && v[j] == v[k+1]) ++k; ans -= pw[k-j+1] - 1; if(ans < 0) ans += Mod; j = k; } } cout << ans << '\n'; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | Alexa2001 |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1256 Byte |
Status | AC |
Exec Time | 2 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 | 2 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 2 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 | 2 ms | 256 KB |
1_012.txt | AC | 2 ms | 256 KB |
1_013.txt | AC | 2 ms | 256 KB |
1_014.txt | AC | 1 ms | 256 KB |
1_015.txt | AC | 2 ms | 256 KB |
1_016.txt | AC | 1 ms | 256 KB |
1_017.txt | AC | 2 ms | 256 KB |
1_018.txt | AC | 2 ms | 256 KB |
1_019.txt | AC | 2 ms | 256 KB |
1_020.txt | AC | 2 ms | 256 KB |
1_021.txt | AC | 2 ms | 256 KB |
1_022.txt | AC | 2 ms | 256 KB |
1_023.txt | AC | 2 ms | 256 KB |
1_024.txt | AC | 2 ms | 256 KB |
1_025.txt | AC | 2 ms | 256 KB |
1_026.txt | AC | 2 ms | 256 KB |
1_027.txt | AC | 2 ms | 256 KB |
1_028.txt | AC | 2 ms | 256 KB |
1_029.txt | AC | 2 ms | 256 KB |
1_030.txt | AC | 2 ms | 256 KB |
1_031.txt | AC | 2 ms | 256 KB |
1_032.txt | AC | 2 ms | 256 KB |
1_033.txt | AC | 2 ms | 256 KB |
1_034.txt | AC | 2 ms | 256 KB |
1_035.txt | AC | 2 ms | 256 KB |