题意:
给出一个N*M的矩阵,一开始在矩阵内有k个chip,位置给出!
一次操作,Patya 可以把所有chip都向同一方向移动一步!
如果chip到了边界,那么chip就保持原地不动!
几个chip可以占据一个格子!
对于每个chip,Petya选择一个它应该访问的位置,但不一定是最后访问的!
你需要找到操作方案使得所有chip访问目标位置!
题解:
先把所有点移到左上角
再S形遍历全图,非常简单的暴力,我都想不到...
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+100; pair<int,int> q[maxn]; int N,M,K; string v; int main () { scanf("%d%d%d",&N,&M,&K); for (int i=0;i<K*2;i++) scanf("%d%d",&q[i].first,&q[i].second); for (int i=0;i<N-1;i++) v+='U'; for (int i=0;i<M-1;i++) v+='L'; int f=0; for (int i=0;i<N;i++) { for (int j=0;j<M-1;j++) { if (f==0) v+='R'; else v+='L'; } v+='D'; f^=1; } printf("%d\n",v.length()); cout<<v; }