CodeForces - 468A ( 规律 )

博客主要介绍了如何解决CodeForces上的468A问题,强调了在遇到寻找规律的题目时,应该先尝试枚举几个简单数来观察规律,而不是立即使用搜索算法,因为这样可能导致超时。作者分享了自己的AC代码,并提醒读者在做此类题目的时候要有耐心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:http://codeforces.com/problemset/problem/468/A

很不可思议自己这么笨,明明不要什么算法,就是要自己有耐心,找个前几项,看看规律就能得出答案的问题,下次还写不出来,就去死。

所以,你要知道,做题一开始,自己先枚举几个简单数看看有没有规律。

思路:

找规律,一开始中了搜索的毒,怎么可能搜的到嘛,10^5,早爆了。

AC代码:

#include <cstdio>
using namespace std;

int main()
{
   int n;
   while( ~scanf("%d",&n) )
   {
      if( n<4 )  printf("NO\n");
      else
      {
          printf("YES\n");
          if( n&1 )
          {
              while( n>5 )
              {
                  printf("%d - %d = 1\n",n,n-1);n--;
                  printf("1 * %d = %d\n",n-1,n-1);n--;
              }
              printf("5 - 1 = 4\n");
              printf("4 - 2 = 2\n");
              printf("2 * 3 = 6\n");
              printf("6 * 4 = 24\n");
          }
          else
          {
             while( n>4 )
             {
                 printf("%d - %d = 1\n",n,n-1);n--;
                 printf("1 * %d = %d\n",n-1,n-1);n--;
             }
             printf("4 * 3 = 12\n");
             printf("12 * 2 = 24\n");
             printf("24 * 1 = 24\n");

          }
      }

   }
   return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值