#40766: C語言解法


jim0908109907@gmail.com (rthrhr)

學校 : 不指定學校
編號 : 254563
來源 : [114.25.143.122]
最後登入時間 :
2024-06-12 01:39:17
k731. 1. 路徑偵測 -- 2023年6月APCS | From: [114.25.143.122] | 發表日期 : 2024-06-12 01:11

#include <stdio.h>

int main() {
    int n,l=0,r=0,t=0,a,b,x=0,y=0,f=1;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d%d",&a,&b);
        if(f==1 && a==x && b>y){
            l=l+1;
            f=2;
            x=a;
            y=b;
        }
        else if(f==1 && a==x && b<y){
            r=r+1;
            f=4;
            x=a;
            y=b;
        }
        else if(f==1 && a<x && b==y){
            t=t+1;
            f=3;
            x=a;
            y=b;
        }
        else if(f==2 && a>x && b==y){
            r=r+1;
            f=1;
            x=a;
            y=b;
        }
        else if(f==2 && a<x && b==y){
            l=l+1;
            f=3;
            x=a;
            y=b;
        }
        else if(f==2 && a==x && b<y){
            t=t+1;
            f=4;
            x=a;
            y=b;
        }
        else if(f==3 && a==x && b<y){
            l=l+1;
            f=4;
            x=a;
            y=b;
        }
        else if(f==3 && a==x && b>y){
            r=r+1;
            f=2;
            x=a;
            y=b;
        }
        else if(f==3 && a>x && b==y){
            t=t+1;
            f=1;
            x=a;
            y=b;
        }
        else if(f==4 && a>x && b==y){
            l=l+1;
            f=1;
            x=a;
            y=b;
        }
        else if(f==4 && a<x && b==y){
            r=r+1;
            f=3;
            x=a;
            y=b;
        }
        else if(f==4 && a==x && b>y){
            t=t+1;
            f=2;
            x=a;
            y=b;
        }
        else{
            x=a;
            y=b;
        }
    }
    printf("%d %d %d",l,r,t);
    return 0;
}

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

f為面朝方向,x+為1、y+為2、x-為3、y-為4

x、y為座標位置

a、b為輸入座標的動點

l、r、t為左轉、右轉與迴轉

 
ZeroJudge Forum