快速提升代码能力(10)坐标问题-----顺时针的余数问题

从零起步看算法(第十天  4.15)

看点评,总结模拟这一套路的使用

进制转换,回文数,机器人的坐标为模拟情况的套路

//q11 机器人坐标

一开始没有读清楚题意,把问题想简单了。

1.本题重点:坐标问题-----顺时针的余数问题

https://blog.csdn.net/vener_/article/details/79346332

2.cin>>x;while(x--){};形式可以了解

#include<iostream>
 #include<string>
 #include<assert.h>
 using namespace std;
 int main(){
 	int n;
 	int x;
 	int d[4]={0};
 	int k=0;//顺时针数组 
 	string str1;
 	while(cin>>n){
 		int countx=0;
 		int county=0; 
 		assert(n>=1&&n<=100);
 		for(int j=0;j<n;j++){
 			cin>>str1;
 			cin>>x;
 			assert(n>=-1000&&n<=1000);
 			if(str1=="forward"){
			 d[k]+=x;
			 } 
 			if(str1=="back"){
 				k=(k+2)%4;
 				d[k]+=x;
			 } 
 			if(str1=="left"){
 				k=(k+1)%4;
 				d[k]+=x;
			 } 
 			if(str1=="right"){
 				k=(k+3)%4;
 				d[k]+=x;
			 } 
			 //else return 0;
		 }
		 countx=d[0]-d[2];
		 county=d[1]-d[3];
		 cout<<countx<<" "<<county<<endl;
	 }
	 return 0;
 } 

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页