Submission #1908379
Source Code Expand
#include <cstdio>
#include <cmath>
#include <algorithm>
#define repu(i,x,y) for (int i=x; i<=y; ++i)
using namespace std;
const int p=998244353;
int n,x[210],y[210],pow2[210],ans;
bool flag[210][210];
struct data
{
int id;
double agl;
bool operator<(const data &t) const
{
return agl<t.agl;
}
} a[210];
double get(int y,int x)
{
if (y<0 || !y && x<0)
return atan2(-y,-x);
return atan2(y,x);
}
int main()
{
scanf("%d",&n);
repu(i,1,n)
scanf("%d%d",&x[i],&y[i]);
pow2[0]=1;
repu(i,1,n)
pow2[i]=pow2[i-1]*2%p;
ans=(pow2[n]+p-n-1)%p;
repu(i,1,n)
{
int m=0;
repu(j,i+1,n)
a[++m]=(data){j,get(y[j]-y[i],x[j]-x[i])};
sort(a+1,a+1+m);
for (int j=1,k; j<=m; j=k)
{
for (k=j+1; k<=m && a[k].agl==a[j].agl; ++k);
if (!flag[i][a[j].id])
{
(ans+=p-pow2[k-j+1]+k-j+2)%=p;
repu(ii,j,k-1)
{
flag[i][a[ii].id]=flag[a[ii].id][i]=1;
repu(jj,ii+1,k-1)
flag[a[ii].id][a[jj].id]=flag[a[jj].id][a[ii].id]=1;
}
}
}
}
printf("%d\n",ans);
return 0;
}
Submission Info
Submission Time
2017-12-25 09:44:49+0900
Task
E - ConvexScore
User
dwjshift
Language
C++14 (GCC 5.4.1)
Score
700
Code Size
1321 Byte
Status
AC
Exec Time
2 ms
Memory
256 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:29:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:31:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&x[i],&y[i]);
^
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
1 ms
256 KB
1_006.txt
AC
1 ms
128 KB
1_007.txt
AC
2 ms
256 KB
1_008.txt
AC
1 ms
256 KB
1_009.txt
AC
1 ms
256 KB
1_010.txt
AC
1 ms
256 KB
1_011.txt
AC
1 ms
256 KB
1_012.txt
AC
2 ms
256 KB
1_013.txt
AC
1 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
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
1 ms
256 KB
1_028.txt
AC
1 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