2021杭電多校第七場題解
阿新 • • 發佈:2021-08-13
H
讀錯題導致卡了2h,然後才發現走的路徑是固定的。
於是這就是簽到題
#include<bits/stdc++.h> using namespace std; int n,x,y,d,tx[4]={0,1,0,-1},ty[4]={1,0,-1,0},dc[4]={1,2,3,0},du[4]={3,0,1,2}; int main() { int T;scanf("%d",&T); while(T--) { scanf("%d%d%d",&x,&y,&d); scanf("%d",&n);View Codewhile(n--) { int nx,ny,dx,dy;scanf("%d%d",&nx,&ny); dx=nx-x,dy=ny-y; if(tx[d]) { if(dx/tx[d]>=0) { for(int i=1;i<=abs(dx);i++)printf("f"); if(dy) {if(dy/ty[dc[d]]>0)d=dc[d],printf("c"); else d=du[d],printf("u"); for(int i=1;i<=abs(dy);i++)printf("f"); } } else{ if(dy/ty[dc[d]]>0)d=dc[d],printf("c"); elsed=du[d],printf("u"); for(int i=1;i<=abs(dy);i++)printf("f"); if(dx/tx[dc[d]]>0)d=dc[d],printf("c"); else d=du[d],printf("u"); for(int i=1;i<=abs(dx);i++)printf("f"); } } else if(dy/ty[d]>=0) { for(int i=1;i<=abs(dy);i++)printf("f"); if(dx) { if(dx/tx[dc[d]]>0)d=dc[d],printf("c"); else d=du[d],printf("u"); for(int i=1;i<=abs(dx);i++)printf("f"); } } else{ if(dx/tx[dc[d]]>0)d=dc[d],printf("c"); else d=du[d],printf("u"); for(int i=1;i<=abs(dx);i++)printf("f"); if(dy/ty[dc[d]]>0)d=dc[d],printf("c"); else d=du[d],printf("u"); for(int i=1;i<=abs(dy);i++)printf("f"); } x=nx,y=ny; } puts(""); } }
持續更新中……