首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >POJ 2967 (水题,考察putchar()按位输入)

POJ 2967 (水题,考察putchar()按位输入)

作者头像
Michael阿明
发布于 2021-02-20 02:42:21
发布于 2021-02-20 02:42:21
24700
代码可运行
举报
运行总次数:0
代码可运行

题目链接:http://poj.org/problem?id=2967

题目大意: 给定系列长度,求是否有规定的三角形 (不是所有的都可以组成三角形&&有至少一种组合可以组成三角形)-> 打印通过,否则打印拒绝。

题目有时间限制,需要用putchar(),按位输入。此题还需选择g++编译器,否则超时。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * @description: 给定系列长度,求是否有规定的三角形
 *              (不是所有的都可以组成三角形&&有至少一种组合可以组成三角形)
 *              考察输入putchar()比较快,按位输入
 * @author: michael ming
 * @date: 2019/5/20 22:38
 * @modified by: 
 */
#include <cstdio>
#include <algorithm>
using namespace std;
int num[1000001];
char ch;
int input()
{
    int res = 0;
    while(ch = getchar())
    {
        if(ch >= '0' && ch <= '9')
            res = res*10 + ch - '0';
        else
            break;
    }
    return res;
}
bool check(int *num, int n)
{
    if(n <= 3)
        return false;
    if(num[0]+num[1] > num[n-1])    //全部可以组成三角形
        return false;
    for(int i = 0; i < n-2; i++)
    {
        if(num[i]+num[i+1] > num[i+2])  //有至少一种三角形可能
            return true;
    }
    return false;
}
int main()
{
    int n;
    n = input();
    for (int i = 0; i < n; ++i)
        num[i] = input();
    sort(num, num+n);
    if (check(num, n))
        printf("The set is accepted.\n");
    else
        printf("The set is rejected.\n");
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档