码迷,mamicode.com
首页 > 其他好文 > 详细

巨大的棋盘

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

标签:大于   std   acm   clu   模拟   span   c++   输出   com   

链接: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 }

 

巨大的棋盘

标签:大于   std   acm   clu   模拟   span   c++   输出   com   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!