首页 > 其他 > 详细

巨大的棋盘

时间:2018-09-08 13:40:29      阅读:133      评论:0      收藏:0      [点我收藏+]

链接:https://www.nowcoder.com/acm/contest/164/B

考试时用模拟得了二十分......正解要先算出一个量(往那边走)然后每次加上他.......一定要开long long。。。代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 long long n,m,t,k;
 4 char a[1100000];
 5 int main()
 6 {
 7     cin>>n>>m>>t;
 8     cin>>a;
 9     long long x=0,y=0;
10     for(long long i=0;i<strlen(a);i++)
11     {
12         if(a[i]==U) x--;//去找往哪边走 
13         if(a[i]==D) x++;
14         if(a[i]==L) y--;
15         if(a[i]==R) y++;
16     }
17     x*=t,y*=t;
18     long long sum;
19     cin>>sum;
20     for(long long i=1;i<=sum;i++)
21     {
22         long long a1,a2;
23         cin>>a1>>a2;
24         a1-=1;//从零开始 
25         a2-=1;
26         a1+=x;
27         a2+=y;
28         a1=(a1%n+n)%n;//是否越界,如果小于零就加N,如果大于就会被求于变成1..... 
29         a2=(a2%m+m)%m;
30         cout<<a1+1<<" "<<a2+1<<endl;//输出 
31     }
32 }

 

巨大的棋盘

原文:https://www.cnblogs.com/dai-jia-ye/p/9608958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!