Submission #1817223


Source Code Expand

#include <algorithm>
#include <cstdio>
const int N=205,mo=998244353;
int pw[N],s;
struct P{
	int x,y;
	P(const int xx=0,const int yy=0):x(xx),y(yy){}
}p[N];
P operator -(P a,P b){return P(a.x-b.x,a.y-b.y);}
int operator *(P a,P b){return a.x*b.y-a.y*b.x;}
bool operator <(P a,P b){return a.x!=b.x?a.x<b.x:a.y<b.y;}
bool cmp(P a,P b){return (a-p[s])*(b-p[s])<0;}
int main(){
	int n;
	scanf("%d\n",&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]*2%mo;
	int ans=pw[n]-n-1;
	for (int i=1;i<=n;i++){
		s=i;
		for (int j=i+1;j<=n;j++)
			if (p[j]<p[s]) s=j;
		std::swap(p[i],p[s]);s=i;
		std::sort(p+i+1,p+n+1,cmp);
		for (int j=i+1,k=i+1;j<=n;j=k){
			for (;k<=n && (p[j]-p[i])*(p[k]-p[i])==0;k++);
			(ans-=pw[k-j]-1)%=mo;
		}
	}
	printf("%d\n",(ans+mo)%mo);
}

Submission Info

Submission Time
Task E - ConvexScore
User aufeas
Language C++14 (GCC 5.4.1)
Score 700
Code Size 847 Byte
Status AC
Exec Time 2 ms
Memory 128 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:15:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d\n",&n);
                  ^
./Main.cpp:16:54: 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
AC × 3
AC × 36
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 128 KB
1_006.txt AC 1 ms 128 KB
1_007.txt AC 1 ms 128 KB
1_008.txt AC 1 ms 128 KB
1_009.txt AC 1 ms 128 KB
1_010.txt AC 1 ms 128 KB
1_011.txt AC 1 ms 128 KB
1_012.txt AC 1 ms 128 KB
1_013.txt AC 1 ms 128 KB
1_014.txt AC 1 ms 128 KB
1_015.txt AC 1 ms 128 KB
1_016.txt AC 1 ms 128 KB
1_017.txt AC 2 ms 128 KB
1_018.txt AC 2 ms 128 KB
1_019.txt AC 1 ms 128 KB
1_020.txt AC 1 ms 128 KB
1_021.txt AC 1 ms 128 KB
1_022.txt AC 2 ms 128 KB
1_023.txt AC 1 ms 128 KB
1_024.txt AC 2 ms 128 KB
1_025.txt AC 2 ms 128 KB
1_026.txt AC 1 ms 128 KB
1_027.txt AC 1 ms 128 KB
1_028.txt AC 1 ms 128 KB
1_029.txt AC 1 ms 128 KB
1_030.txt AC 2 ms 128 KB
1_031.txt AC 2 ms 128 KB
1_032.txt AC 2 ms 128 KB
1_033.txt AC 2 ms 128 KB
1_034.txt AC 1 ms 128 KB
1_035.txt AC 1 ms 128 KB