NPSC補完計劃

登入註冊帳號.

請輸入帳號, 密碼以及預計登入時間
進階搜尋  

最新消息:

歡迎光臨NPSC補完計劃

+ NPSC補完計劃 » NPSC國中組 » NPSC2014國中組決賽
 E. 小可鱼轉轉轉

作者 主題: E. 小可鱼轉轉轉  (閱讀 317 次)

Coding.com

  • 新手
  • *
  • 文章數: 2
    • 檢視個人資料
E. 小可鱼轉轉轉
« 於: 十一月 28, 2017, 08:50:49 pm »

#include<bits/stdc++.h>
using namespace std;
int arr[1000000];
int main(){
   ios::sync_with_stdio(false);
   cin.tie(0);
   //must do in finals
   int t;
   cin>>t;
   while(t--){
      int a;
      cin>>a;
      int dir=3;
      int x=0,y=0;
      for(int i=0;i<a;i++){
         char k;
         int n;
         cin>>k>>n;
         if(k=='r'){
            for(int j=0;j<n%4;j++){
               dir=(dir+3)%4;
            }
         }
         else if(k=='l'){
            for(int j=0;j<4-n%4;j++){
               dir=(dir+3)%4;
            }
         }
         else if(k=='w'){
            int dx[4]={1,0,-1,0};
            int dy[4]={0,-1,0,1};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         else if(k=='a'){
            int dx[4]={0,1,0,-1};
            int dy[4]={1,0,-1,0};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         else if(k=='s'){
            int dx[4]={-1,0,1,0};
            int dy[4]={0,1,0,-1};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         else{
            int dx[4]={0,-1,0,1};
            int dy[4]={-1,0,1,0};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         cout<<x<<' '<<y<<'\n';      
      }
      cout<<x<<' '<<y<<'\n';   
   }
}
記錄
+ NPSC補完計劃 » NPSC國中組 » NPSC2014國中組決賽
 E. 小可鱼轉轉轉