codeforces-1327C-Game with Chips
传送门:https://codeforces.com/contest/1327/problem/C
题意:有一个n*m的电路板,给你k个当前点和k个目标点,每次可以进行上下左右的移动(每次移动所有的当前点都动)(如果芯片位于板壁的旁边,并且Petya选择的动作将其移向壁,则芯片将保持在其当前位置),使得所有的当前点都至少经过目标点一次,移动范围不超过2*n*m,应该怎么走
每次移动所有点都跟着动是不是很懵逼?还要经过给出的目标点?看移动范围呀,2*n*m呀,当前点和目标点屁用没有,把所有点挤到一个角,蛇形跑一边就完了,移动次数n*m+n+m-3,散了吧散了吧,这题太骚了
1 #include<bits/stdc++.h>
2 using namespace std;
3 #define ll long long
4 const int maxn=1e6+10;
5 const int mod=1e9+7;
6 const int inf=0x3f3f3f3f;
7 int mp[209][209];
8 int main()
9 {
10 int t,n,m,k,x,y;
11
12 scanf("%d%d%d",&n,&m,&k);
13 for(int i=1;i<=2*k;i++)
14 {
15 scanf("%d%d",&x,&y);
16 }
17 printf("%d\n",n*m+n+m-3);
18 for(int i=1;i<n;i++) printf("U");
19 for(int i=1;i<m;i++) printf("L");
20 for(int i=1;i<=n;i++)
21 {
22 if(i%2)
23 {
24 for(int j=1;j<m;j++) printf("R");
25 }
26 else
27 {
28 for(int j=1;j<m;j++) printf("L");
29 }
30 if(i!=n)
31 printf("D");
32 }
33 printf("\n");
34 return 0;
35 }
来源:https://www.cnblogs.com/YangKun-/p/12589951.html