关闭

浙大PAT甲级 1084

156人阅读 评论(0) 收藏 举报
分类:

先排序然后二分查找临界点。

AC代码:

#include<iostream>
#include<map>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<list>
#include<set>
#include<stack>
#include<cmath>
#include<vector>
#define ll long long
#define inf 999999999
using namespace std;
int n;
struct node
{
    string name;
    string id;
    int num;
};
node a[1000000];
bool cmp(node x,node y)
{
    return x.num>y.num;
}
int f(int x)
{
    int q=0,w=n-1;
    while(q<=w)
    {
       int mid=(q+w)/2;
    if(a[mid].num>x)
    {
        q=mid+1;
    }
    else if(a[mid].num<x)
    {
        w=mid-1;
    }
    else
    {
        return mid;
    }
    }
    return q;
}
int main()
{
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        cin>>a[i].name>>a[i].id>>a[i].num;
    }
    int l,r;
    scanf("%d %d",&l,&r);
    sort(a,a+n,cmp);
    int res=f(r);
    int flag=0;
    for(int i=res;;i++)
    {
        if(a[i].num>=l)
        {
            cout<<a[i].name<<" "<<a[i].id<<endl;
            flag=1;
        }
        else
        {
            break;
        }
    }
    if(flag==0)
    {
        printf("NONE\n");
    }
}


0
0
查看评论

PAT(甲级)1084

1084. Broken Keyboard (20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...
  • Leonardo1897
  • Leonardo1897
  • 2015-09-29 10:52
  • 357

*浙大PAT甲级 1114 并查集

考察并查集,并附加记录额外信息。 为了得到一个家族中的最小id,我们可以将最小的id做为这个家族的根。并将整个家族的信息如家族人数,家族房产数,家族的房产面积。 然后通过排序,输出相应结果。 AC代码: #include #include #include #include #include...
  • luowei5513
  • luowei5513
  • 2016-09-08 21:45
  • 550

PAT甲级1015

1015. Reversible Primes (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue...
  • qq_22194315
  • qq_22194315
  • 2017-01-22 19:37
  • 66

【PAT】1084. Broken Keyboard (20)

On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters corresponding to those keys will not appear on sc...
  • realxuejin
  • realxuejin
  • 2015-10-14 19:32
  • 365

PAT(甲级)1015

1015. Reversible Primes (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue...
  • Leonardo1897
  • Leonardo1897
  • 2015-09-23 16:54
  • 412

PAT(甲级)1084. Broken Keyboard (20)

题目:https://www.patest.cn/contests/pat-a-practise/1084 代码:#include #include #include #include using namespace std; int main() { bool a[128]={false}; ...
  • u012792707
  • u012792707
  • 2017-01-26 14:46
  • 81

PAT(甲级)1050

1050. String Subtraction (20) 时间限制 10 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue...
  • Leonardo1897
  • Leonardo1897
  • 2015-09-26 10:20
  • 255

浙大PAT 1004题 1004. Counting Leaves

#include int rel[110][110],cnt[110],node; int main(){ void dfs(int num,int level); int i,j,nonleaf,fat,childs,son; for(i=0;i<=100;i++){ ...
  • Sup_Heaven
  • Sup_Heaven
  • 2012-12-29 21:37
  • 2108

PAT(甲级)1042

1042. Shuffling Machine (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue...
  • Leonardo1897
  • Leonardo1897
  • 2015-09-26 10:08
  • 154

浙大PAT 1019题 1019. General Palindromic Number

#include int main(){ int i,j,n,b,cnt; int str[50]; scanf("%d %d",&n,&b); cnt=0; while(n>=b){ str[cnt]=n%b; cnt++; n=n/...
  • Sup_Heaven
  • Sup_Heaven
  • 2012-12-29 21:47
  • 580
    个人资料
    • 访问:15983次
    • 积分:1024
    • 等级:
    • 排名:千里之外
    • 原创:91篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档