aimusi之体重,啤酒,

题目内容:
艾斯姆作为长官,研究一份士兵体检表,发现队伍中竟然每个人的体重都不一样。他想根据体重从小到大对士兵排序,
然后直接可以知道每个人在队伍中的体重排位。
输入描述
第1行输入整数n, 表示士兵人数,随后n行是每个士兵的编号(1,2,...n)和体重。紧跟的下一行是一个整数k (1<=k<=n), 
表示要提问排第k位的士兵信息。
输出描述
排第k位的士兵编号和体重,之间空一格。
输入样例
3
1 168
2 156
3 178
2
输出样例
1 168



//艾斯姆之士兵 
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    vector<int> v1,v2;
    int n,c,t;
    cin>>n;
    while(n--)
    {
        cin>>c>>t;
        v1.push_back(t);
    }
    v2=v1;
    sort(v1.begin(),v1.end());  //排序后 
    vector<int>::iterator it;
    int i=1,k;
    cin>>k;
    for(it=v2.begin(); it!=v2.end(); it++,i++)
        if(*it==v1[k-1])
        {
            cout<<i;
            break;            
        }

    cout<<" "<<v1[k-1]<<endl;
    return 0;
}








题目内容:
艾斯姆来到一个自动售酒机前。他发现这个售酒机功能很强大,投入2美元硬币,它可以吐出1瓶啤酒。
如果投入2个空瓶,或者是4个瓶盖,它也可以吐出一瓶啤酒。现艾斯姆身上有m美元,他想知道最多能喝到多少瓶的啤酒? 
输入描述
美元数m
输出描述
可以喝的啤酒数
输入样例
例1输入: 1
例2输入: 2
例3输入: 4
输出样例
例1输出  0
例2输出: 1 
例3输出: 3 


//艾斯姆之啤酒 
#include<iostream>
using namespace std;
int fun(int p, int g)
{    
    if(p/2==0 && g/4==0)
        return 0;
    return p/2+g/4+fun(p/2+g/4+p%2,p/2+g/4+g%4);
}
int main()
{
    int m;
    cin>>m;
    int t=fun(m/2,m/2);
    cout<<m/2+t<<endl;
    return 0;
}




原文地址:https://www.cnblogs.com/fengyanlover/p/5068034.html