陕西省第九届大学生程序设计竞赛 E.swapping game 找规律+模拟
作者:互联网
刚开始看到swap,抖了个机灵,dna动了
以为又是cf那种转化,玄学的等价什么的
模拟了一下,发现规律蛮明显的,就是往45°左下角走,或者45°右下角走
奇数和偶数情况不同,要分开讨论
然后,然后它就变成了一个大模拟:
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { int t; cin>>t; while(t--) { ll n,k,q,id; cin>>n>>k>>q; if(q%2==1) { if(k<=n-q+1) { id=q+k; if(n-q+1==k) id--; } else { id=n; k-=n-q+1; k%=2*n; if(k<=n) { id=id-k; if(id==0) id=1; } else { id=id-(2*n-k-1); } } } else { if(k<=q) { id=q-k; if(q==k) id++; } else { id=1; k-=q; k%=2*n; if(k<=n) { id=id+k; if(id==n+1) id=n; } else { id=id+2*n-k-1; } } } cout<<id<<endl; } }
标签:第九届,swapping,int,ll,45,cin,long,game,模拟 来源: https://www.cnblogs.com/liyishui2003/p/16391484.html