独木桥(c++)

传送门

这题可以这么理解:

你在桥上看风景,看风景的人在轰炸机上看着你。

首先自行脑补一下,假装你正在20000米高空的轰炸机上用高倍显微镜望远镜默默欣赏 士兵离开,你会发现什么东西?一堆花花绿绿的迷彩服在移动。(不是鬼片!不是鬼片!不是鬼片!重要的事情说三遍)

那么当两个士兵撞在一起时,从你的视角看会发生什么?当然他们认为他们都掉头了,但因为你在特高的地方,你会认为他们“穿过”了对方。换言之,这与他们相互穿过并没有任何区别。(不是鬼片!不是鬼片!不是鬼片!重要的事情说三遍)

然后我们就可以把士兵分开了。比方说有一个士兵在位置3,开始时向右,那么一定有一个士兵在两秒后在位置5。虽然这两个家伙可能不是同一个人,但由于士兵都是相同的,我们可以认为他们相同。(不是鬼片!不是鬼片!不是鬼片!重要的事情说三遍)

也就是说,这道题连数组都不用开。。。(亏它是道贪心),但让我无语的是,某位dalao居然用暴力AC,此处欣赏一下这个巨作:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <vector>
using namespace std;
namespace Ciyang {
   
    struct q_instream {
   
        template < typename classT >
        inline q_instream operator>>(classT &e) const {
   
            e= 0;
            classT f= 1, c= 0;
            while(c < '0' || c > '9') {
   
                if(c == '-') f= -1;
                c= getchar();
            }
            while(c >= '0' && c <= '9') e= e * 10 + c - '0', c= getchar();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值