zoukankan      html  css  js  c++  java
  • 2021杭电多校第七场题解

    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);
            while(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");
                        else d=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("");
        }
    }
    View Code

    J

    持续更新中……

  • 相关阅读:
    2018.09.25python学习第十天part3
    2018.09.25python学习第十天part2
    2018.09.25python学习第十天part1
    2018.09.21python学习第九天part3
    2018.09.21python学习第九天part2
    2018.09.21python学习第九天part1
    2018.09.20python作业
    Alpha 冲刺(3/10)
    Alpha 冲刺(2/10)
    Alpha 冲刺(1/10)
  • 原文地址:https://www.cnblogs.com/hfctf0210/p/15139214.html
Copyright © 2011-2022 走看看