这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| 
                    2023-2024:teams:ikun_is_coding:2023_牛客暑期多校训练营_1 [2023/07/20 22:32] blackening  | 
                
                    2023-2024:teams:ikun_is_coding:2023_牛客暑期多校训练营_1 [2023/07/21 19:12] (当前版本) blackening  | 
            ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ===A=== | ===A=== | ||
| ===B=== | ===B=== | ||
| + | |||
| + | 瞎搞题 | ||
| + | |||
| + | **AC代码** | ||
| + | <code> | ||
| + | #include<bits/stdc++.h> | ||
| + | #define ll long long | ||
| + | using namespace std; | ||
| + | const int maxn=1e6+5; | ||
| + | ll x[maxn],y[maxn]; | ||
| + | int n; | ||
| + | ll getS(int a[]){ | ||
| + | return abs(x[a[0]]*y[a[1]]-x[a[0]]*y[a[2]]+x[a[1]]*y[a[2]]-x[a[1]]*y[a[0]]+x[a[2]]*y[a[0]]-x[a[2]]*y[a[1]]); | ||
| + | } | ||
| + | int main(){ | ||
| + | scanf("%d",&n); | ||
| + | for(int i=0;i<n;i++){ | ||
| + | scanf("%lld%lld",&x[i],&y[i]); | ||
| + | } | ||
| + | bool f[3]={0,0,0}; | ||
| + | int a[3]={0,n/2,n-1},l=0,r=2,m=1; | ||
| + | ll S=getS(a); | ||
| + | int tmp; | ||
| + | int b[3]={0,1,2}; | ||
| + | while(!f[0]||!f[1]||!f[2]){ | ||
| + | tmp=a[m]; | ||
| + | int to=tmp; | ||
| + | bool flag=0; | ||
| + | a[m]=(tmp+1)%n; | ||
| + | ll tmpS=getS(a); | ||
| + | if(S<tmpS){ | ||
| + | S=tmpS; | ||
| + | to=a[m]; | ||
| + | flag=1; | ||
| + | } | ||
| + | a[m]=(tmp-1+n)%n; | ||
| + | tmpS=getS(a); | ||
| + | if(S<tmpS){ | ||
| + | S=tmpS; | ||
| + | to=a[m]; | ||
| + | flag=1; | ||
| + | } | ||
| + | if(!flag){ | ||
| + | f[m]=1; | ||
| + | }else{ | ||
| + | f[0]=f[1]=f[2]=0; | ||
| + | } | ||
| + | a[m]=to; | ||
| + | b[m]=tmp; | ||
| + | l=(l+1)%3; | ||
| + | r=(r+1)%3; | ||
| + | m=(m+1)%3; | ||
| + | } | ||
| + | cout<<a[0]+1<<" "<<a[1]+1<<" "<<a[2]+1<<endl; | ||
| + | return 0; | ||
| + | } | ||
| + | </code> | ||
| + | |||
| ===C=== | ===C=== | ||
| 行 101: | 行 159: | ||
| 考虑在n=1,m=1时一定是后手赢,一行一列的时候一定是先手赢 | 考虑在n=1,m=1时一定是后手赢,一行一列的时候一定是先手赢 | ||
| - | 对于更广泛的情况,考虑维护L型,无论后手如何操作,先手一定能维护L型,那么最终后手一定会走到一行一列的状态,因此L型是必胜态 | + | 对于更广泛的情况,考虑维护L型,无论后手如何操作,先手一定能维护L型,那么最终后手一定会走到一行一列的状态,因此L型是必败态 | 
| **AC代码** | **AC代码** | ||