SRM550 Div1Medium CheckerExpansion

xiaoxiao2021-02-28  124

这题我也搞不明白,草草带过就好。。。 这题根据题意我们可以造出一张图来,然后我们就会发现神奇的事情 对于 (x+y) 的点 (xy) 来说 ax,y=Cyx+y2 (是否有检验器) 而若 (x+y)%4==0 则为 A 的检验器,否则为B的检验器 怎么发现的呢?我也不知道。。。 详见集训队作业 代码如下:

#include<bits/stdc++.h> using namespace std; #define ll long long char str[105][105]; int main(){ ll t,x,y,w,h; cin>>t>>x>>y>>w>>h; for(ll i=x;i<x+w;i++) for(ll j=y;j<y+h;j++){ str[i-x][j-y]='.'; if(i+j>2*t-2||(i+j)%2)continue; if((((i+j)/2)&j)==j){ if((i+j)%4==0)str[i-x][j-y]='A'; else str[i-x][j-y]='B'; } } for(int i=h-1;i>=0;i--){ for(int j=0;j<w;j++)printf("%c",str[j][i]); puts(""); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-25438.html

最新回复(0)