codeforces-1327C-Game with Chips

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 }

猜你喜欢

转载自www.cnblogs.com/YangKun-/p/12589951.html
今日推荐