zoukankan      html  css  js  c++  java
  • hihoCoder挑战赛14 题目1 : 不等式

    题目1 : 不等式

    时间限制:10000ms
    单点时限:1000ms
    内存限制:256MB

    描述

    给定n个关于X的不等式,问最多有多少个成立。

    每个不等式为如下的形式之一:

    X < C

    X <= C

    X = C

    X > C

    X >= C

    输入

    第一行一个整数n。

    以下n行,每行一个不等式。

    数据范围:

    1<=N<=50,0<=C<=1000

    输出

    一行一个整数,表示最多可以同时成立的不等式个数。

    样例输入
    4
    X = 1
    X = 2
    X = 3
    X > 0
    样例输出
    2

    这题没说C是整数,但是提交代码把C当成整数可以AC,解法:枚举 X= -0.5,0,0.5,......1000.5 检查满足条件的不等式有多少个,ans就是这个最大值
    #include <cstdio>
    #include <cstring>
    #include <string>
    #include <map>
    using namespace std;
    
    char s[10];
    char st[10];
    int n;
    int a[2020];
    int main(){
        scanf("%d",&n);
        int x;
        for(int i=0;i<n;i++){
            scanf("%s",s);
            scanf("%s",s);
            scanf("%s",st);
            sscanf(st,"%d",&x);
            if(strcmp(s,"=")==0){
                a[2*(x+1)]++;
            }
            else if(strcmp(s,">")==0){
                for(int j=2*(x+1)+1;j<2010;j++)
                    a[j]++;
            }else if(strcmp(s,">=")==0){
                for(int j=2*(x+1);j<2010;j++)
                    a[j]++;
            }else if(strcmp(s,"<")==0){
                for(int j=2*x+1;j>=0;j--)
                    a[j]++;
            }else if(strcmp(s,"<=")==0){
                for(int j=2*(x+1);j>=0;j--)
                    a[j]++;
            }
        }
        int ans = 0;
        for(int i=0;i<2010;i++){
            if(ans<a[i]) ans = a[i];
        }
        printf("%d
    ",ans);
        return 0;
    }


  • 相关阅读:
    Android SDK镜像的介绍使用
    如何在使用MAMP环境下安装MySQLdb
    MySQL – 导出数据成csv
    CSV
    自己写的一个Yeoman的Generator-Require-Angularjs
    笔记
    PHP
    Intellij IDEA 14的注册机
    nodejs
    Python
  • 原文地址:https://www.cnblogs.com/zhjou/p/4771638.html
Copyright © 2011-2022 走看看