C/C++知识点之2015年江西理工大学C语言程序设计竞赛(初级组)
小标 2018-11-13 来源 : 阅读 1787 评论 0

摘要:本文主要向大家介绍了C/C++知识点之2015年江西理工大学C语言程序设计竞赛(初级组),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之2015年江西理工大学C语言程序设计竞赛(初级组),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

JankTao相亲记

解法:排序

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const double INF = 1e20;
const double pi = acos(-1.);
int main()
{
    int t;
    int a[100];
    while(cin>>t)
    {
        while(t--)
        {
        for(int i=0;i<11;i++)
        {
            cin>>a[i];
        }
        sort(a,a+11);
        printf("%d\n",a[9]);
        }
    }
    return 0;
}

David的沙漠之路
解法:贪心,尽量往最大的距离走,加上它经历过的加油站中最大的那个,模拟这个过程需要考虑很多情况

#include 
#include 
#include 
using namespace std;
struct cmp
{
    bool operator ()(int &a,int &b)
    {
        return a<b;
    }
};
struct node
{
    int x,y;
} e[1005];
int main()
{
    priority_queue<int,vector,cmp>que;
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int n,l,s,x,y,cnt=0,flag=0,f=0;
        scanf("%d%d%d",&n,&l,&s);
        for(int i=0; i<n; i++)
        {
            scanf("%d%d",&e[i].x,&e[i].y);
        }
        e[n].x=0,e[n].y=l;
        for(int i=0; i<=n; i++,f=0)
        {
            x=e[i].x,y=e[i].y;
            if(y<=s)
            {
                que.push(x);
                f=1;
                //最长可以横跨多少加油站,把他们放在队列里
            }
            while(y>=s)
            {
                if(s>=l) break;
                if(!f && s==y)
                {
                    que.push(x);
                    f=1;
                    //没有横跨,刚刚好到达
                }
                if(que.empty())
                {
                    printf("TJ\n");
                    flag=1;
                    break;
                }
                int xx=que.top();//取最近的加油站
                que.pop();
                s+=xx;
                cnt++;
            }
            if(!f) que.push(x);
            if(s>=l)
            {
                printf("%d\n",cnt);
                flag=1;
                break;
            }
            if(flag) break;
        }
        if(!flag) printf("TJ\n");
        while(!que.empty()) que.pop();
    }
    return 0;
}

TJ的文件系统
解法:字符串处理

#include
//#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3fffffff
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
using namespace std;
const int maxn = 22;
int main()
{
    int t;
    int n;
    int i;
    int j;
    string s,ss;
    while(cin>>t)
    {
        while(t--)
        {
            string sss="";
            int ans;
            cin>>n>>s;
            for(i=0;i<n;i++)
            {
                string sss="";
                cin>>ss;
                ans=ss.find(".");
             //   cout<<ans<<endl;
                for(j=ans+1;j<ss.length();j++)
                {
                    sss+=ss[j];
                }
           //     cout<<sss<<endl;
                if(sss==s)
                {
                    cout<<ss<<endl;
                }
            }
        }
    }
 
    return 0;
}

握手定理
解法:水题

#include 
int main()
{
    int SEQ, ACK1, ACK2, T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d %d %d", &SEQ, &ACK1, &ACK2);
        if((ACK1 == SEQ + 1) && (ACK2 == ACK1 + 1))
        {
            printf("QWN3213\n");
        }
        else
            printf("TJ\n");
    }
    return 0;
}

Alice AND Bob
解法:模拟

#include
//#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3fffffff
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
using namespace std;
int a[100000],b[100000],c[100000];
int main()
{
    int t;
    int i,j;
    int n,m;
    int x,y;
    int k;
    cin>>t;
    while(t--)
    {
        k=0;
        cin>>n>>m;
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        for(i=0;i<n;i++)
        {
            cin>>x;
            a[x]++;
        }
        for(i=0;i<m;i++)
        {
            cin>>y;
            b[y]++;
        }
       for(i=0;i<100000;i++)
       {
            if(a[i]&&b[i])
                c[k++]=i;
       }
        for(i=0;i<k;i++)
        {
            if(i==0)
            {
              printf("%d",c[i]);
            }
            else
            {
                printf(" %d",c[i]);
            }
        }
        cout<<endl;
    }
    return 0;
}

建群数据
解法:字符串处理时间

#include
//#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3fffffff
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
using namespace std;
struct P
{
    int number;
    int hhmmss;
}hehe[100000];
int cmp(P a,P b)
{
    if(a.number==b.number)
        return a.hhmmss<b.hhmmss;
    else
        return a.number<b.number;
}
string s,ss,sss,ssss;
string sssss;
int t,n;
int a;
int i,j;
int ans;
int poi;
int num;
int main()
{
 
    cin>>t;
    while(t--)
    {
        poi=1;
        cin>>n;
        for(i=0;i<n;i++)
        {
            cin>>a>>s;
            hehe[i].number=a;
            ss=s.substr(0,2);
            sss=s.substr(2,2);
            ssss=s.substr(4,2);
            //   cout<<ss<<" "<<sss<<" "<<ssss<<endl;
            hehe[i].hhmmss=((ss[0]-‘0‘)*10+(ss[1]-‘0‘)*1)*3600+((sss[0]-‘0‘)*10+(sss[1]-‘0‘))*60+((ssss[0]-‘0‘)*10+(ssss[1]-‘0‘));
        }
        cin>>sssss;
        ss=sssss.substr(0,2);
        sss=sssss.substr(2,2);
        ssss=sssss.substr(4,2);
        ans=((ss[0]-‘0‘)*10+(ss[1]-‘0‘))*3600+((sss[0]-‘0‘)*10+(sss[1]-‘0‘))*60+((ssss[0]-‘0‘)*10+(ssss[1]-‘0‘));
        sort(hehe,hehe+n,cmp);
        num=hehe[0].hhmmss;
        for(int i=1;i<n;i++)
        {
            if(hehe[i].number!= hehe[i-1].number||hehe[i].hhmmss-num>ans)
            {
                poi++;
                num=hehe[i].hhmmss;
            }
        }
        printf("%d\n",poi);
    }
    return 0;
}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程