题解:P16864 [GKS 2021 #G] Simple Polygon
zhangleyi0417 · · 题解
构造题,看着挺简单的。
题意
给定 IMPOSSIBLE。
思路
我们先考虑无解情况,由皮克定理 IMPOSSIBLE。
对于
然后对于
规律很好找,就不给了,不会看代码。
:::info[ACcode(c++)] 就知道你会点开
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
for(int i=1;i<=t;i++)
{
int n,a;
cin>>n>>a;
if(n-2>a)
{
cout<<"Case #"<<i<<": IMPOSSIBLE\n";
continue;
}
cout<<"Case #"<<i<<": POSSIBLE\n";
for(int j=0;j<=(n-2)/2;j++)cout<<j%2<<" "<<j<<"\n";
if(n&1)cout<<(n-2)%2<<" "<<(n-1)/2<<"\n";
for(int j=(n-2)/2;j>=1;j--)cout<<j%2+1<<" "<<j<<"\n";
cout<<a+3-n<<" "<<0<<"\n";
}
return 0;
}
:::