URAL 1549 Another Japanese Puzzle

Sol :构造题。

因为闭合路径,那么转弯的数量 T >= 4 (一定),否则无解

猜想下,只能用偶数个 S 和偶数个 T,要不不可能构成“闭合路径”。


附上详细的分析Blog、

学习地址:点击打开链接

#include <cstdio>

using namespace std;

int main()
{
	int F,T; 
    while(~scanf("%d%d",&F,&T))
    {
        if(T<4)
        {
            printf("Atawazu\n");
            continue;
        }
        if(F<2)
        {
            if(T<12)
            {
                printf("4\nLLLL\n");
                continue;
            }
            else
            {
                printf("%d\n",12+((T-12)/4)*4);
                int x=(T-12)/4;
                printf("RLLRLLRL");
                for(int i=0;i<x;i++) printf("RL");
                printf("LRLL");
                for(int i=0;i<x;i++) printf("RL");
                printf("\n");
                continue;
            }
        }
        printf("%d\n",(F/2)*2+(T/2)*2);
        int x=(T-4)/2;
        if(x%2==0)
        {
            for(int i=0;i<F/2;i++) printf("F");
            for(int i=0;i<x/2;i++) printf("LR");
            printf("LL");
            for(int i=0;i<F/2;i++) printf("F");
            for(int i=0;i<x/2;i++) printf("LR");
            printf("LL");
        }
        else
        {
            for(int i=0;i<F/2-1;i++) printf("F");
            for(int i=0;i<=x/2;i++) printf("LR");
            printf("LL");
            for(int i=0;i<F/2;i++) printf("F");
            for(int i=0;i<x/2;i++) printf("LR");
            printf("LFL");
        }
        printf("\n");
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值