码迷,mamicode.com
首页 > 其他好文 > 详细

西南科技大学第十届ACM程序设计竞赛题解

时间:2015-05-16 11:50:36      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:

A、德州扑克

B、

我恨11(1089)

问题描述

11是一个孤独的数字,小明十分讨厌这个数字,因此如果哪个数字中出现了11或者该数字是11的倍数,他同样讨厌这个数字。现在问题来了,在闭区间[L,R]之间有多少个小明讨厌的数字。

输入

多组测试数据,每组两个整数L,R(1<=L<=R<=100000)

输出

小明讨厌的数的个数。

样例输入

1 11

11 111

样例输出

1

11

签到题、直接暴力即可

#include <stdio.h>
int find(int x)
{
    if(x%11==0)
        return 1;
    while(x)
    {
        if(x%100==11)
            return 1;
        x=x/10;
    }
    return 0;
}
int main()
{
    int sum,l,r,i;
    while(scanf("%d%d",&l,&r)!=EOF)
    {
        sum=0;
        for(i=l;i<=r;i++)
            sum+=find(i);
        printf("%d\r\n",sum);
    }
    return 0;
}


C、

疯狂的小面包(1090)

问题描述

作为一名SWUST的学生,小明经常乘坐面包车往返于老区和新区,但是有时候排队乘车的人特别多,他就会选择走路。现在小明要从新区去老区,新区到老区的路程为D,小面包的速度为X,小明步行的速度为Y,排队等车的时间为T,以上物理量的单位均为国际单位,若乘坐小面包到达老区的时间小于步行的时间,小明就会选择乘坐小面包,否则他将步行去老区。

输入

多组测试数据,每组4个数据D,X,Y,T。(0<D,X,Y<=10000,0<=T<=10000)

输出

若小明选择乘坐小面包,输出"YES",否则输出"NO"。

样例输入

10 10 5 0
10 10 5 1

样例输出

YES
NO

签到题

#include<iostream>
using namespace std;
int main()
{
    float d, x, y, t, t1, t2;
    while (cin >> d >> x >> y >> t)
    {
        t1 = d / x + t;
        t2 = d / y;
        if (t1 < t2)
            cout << "YES" << "\r\n";
        else
            cout << "NO" << "\r\n";
    }
    return 0;
}


D、土豪我们做朋友吧

E、二分查找的最大次数

F、遍历数组的最小代价,后面再补,- -

G、中位数

H、挖金子

I、

小明的神器(1096)

问题描述

小明有一个神器,上面有 n个 孔,每个孔都可以喷水,每个孔只能喷一次水且只能持续一秒,小明不想让水喷出来,所以他就用手指去堵住孔(一根手指能且只能堵住一个孔),试问小明能否在任意时刻都不让水喷出来(小明一共有十根手指)。

输入

多组数据。

每组数据第一行为n(0<n<=10^4),代表神器上孔的个数,第二行n个数,代表每个孔喷水的时刻ti(0<=ti<=10^5)

输出

若小明在任意时刻都不会让水喷出,则输入“YES”,否则输出“NO”

样例输入

3
1 2 3
11
2 2 2 2 2 2 2 2 2 2 2

样例输出

YES
NO

签到题、

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define N 1000010

int n,a[N];
void solve()
{
    sort(a,a+n);
    int cnt=1;
    for(int i=1;i<=n;i++){
        if(a[i]!=a[i-1] || i==n){
            if(cnt>10){
                cout<<"NO"<<"\r\n";
                return ;
            }
            cnt=1;
        }
        else
            cnt++;
    }
    cout<<"YES"<<"\r\n";
}
int main()
{
    while(cin>>n)
    {
        for(int i=0;i<n;i++)
            cin>>a[i];
        solve();
    }
    return 0;
}


J、2014

西南科技大学第十届ACM程序设计竞赛题解

标签:

原文地址:http://www.cnblogs.com/hate13/p/4507553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!