Submission #1560227
Source Code Expand
// This amazing code is by Eric Sunli Chen. #include <algorithm> #include <bitset> #include <cmath> #include <cstring> #include <cstdio> #include <cstdlib> #include <ctime> #include <iomanip> #include <iostream> #include <map> #include <queue> #include <set> #include <string> #include <utility> #include <vector> using namespace std; template<typename T> void get_int(T &x) { char t=getchar(); bool neg=false; x=0; for(; (t>'9'||t<'0')&&t!='-'; t=getchar()); if(t=='-')neg=true,t=getchar(); for(; t<='9'&&t>='0'; t=getchar())x=x*10+t-'0'; if(neg)x=-x; } template<typename T> void print_int(T x) { if(x<0)putchar('-'),x=-x; short a[20]= {},sz=0; while(x>0)a[sz++]=x%10,x/=10; if(sz==0)putchar('0'); for(int i=sz-1; i>=0; i--)putchar('0'+a[i]); } #define ff first #define ss second #define pb push_back #define mp make_pair #define get1(a) get_int(a) #define get2(a,b) get1(a),get1(b) #define get3(a,b,c) get1(a),get2(b,c) #define printendl(a) print_int(a),puts("") typedef long long LL; typedef unsigned long long uLL; typedef pair<int,int> pii; const int inf=0x3f3f3f3f; const LL Linf=1ll<<61; const double pi=acos(-1.0); const int mod=998244353; int n,x[222],y[222],pw[222],all[222]; int main() { pw[0]=1;for(int i=1;i<222;i++)pw[i]=pw[i-1]*2%mod; get1(n); for(int i=1;i<=n;i++)get2(x[i],y[i]); int ans=(pw[n]+mod-1)%mod; ans=(ans+mod-n)%mod; for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { int cnt=0; for(int k=1;k<=n;k++)if((x[i]-x[j])*(y[i]-y[k])==(x[i]-x[k])*(y[i]-y[j]))cnt++; all[cnt]++; } } for(int i=2;i<=n;i++) { all[i]=all[i]*2/i/(i-1); // printf("i = %d %d\n",i,all[i]); ans=(ans+mod-1ll*all[i]*(pw[i]+mod-i-1))%mod; } printendl(ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | OhWeOnFire |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1785 Byte |
Status | AC |
Exec Time | 7 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 | 3 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 4 ms | 256 KB |
1_008.txt | AC | 3 ms | 256 KB |
1_009.txt | AC | 4 ms | 256 KB |
1_010.txt | AC | 2 ms | 256 KB |
1_011.txt | AC | 4 ms | 256 KB |
1_012.txt | AC | 4 ms | 256 KB |
1_013.txt | AC | 3 ms | 256 KB |
1_014.txt | AC | 1 ms | 256 KB |
1_015.txt | AC | 4 ms | 256 KB |
1_016.txt | AC | 2 ms | 256 KB |
1_017.txt | AC | 7 ms | 256 KB |
1_018.txt | AC | 7 ms | 256 KB |
1_019.txt | AC | 7 ms | 256 KB |
1_020.txt | AC | 7 ms | 256 KB |
1_021.txt | AC | 7 ms | 256 KB |
1_022.txt | AC | 7 ms | 256 KB |
1_023.txt | AC | 7 ms | 256 KB |
1_024.txt | AC | 7 ms | 256 KB |
1_025.txt | AC | 7 ms | 256 KB |
1_026.txt | AC | 7 ms | 256 KB |
1_027.txt | AC | 7 ms | 256 KB |
1_028.txt | AC | 7 ms | 256 KB |
1_029.txt | AC | 7 ms | 256 KB |
1_030.txt | AC | 7 ms | 256 KB |
1_031.txt | AC | 7 ms | 256 KB |
1_032.txt | AC | 7 ms | 256 KB |
1_033.txt | AC | 7 ms | 256 KB |
1_034.txt | AC | 7 ms | 256 KB |
1_035.txt | AC | 7 ms | 256 KB |