描述
都到世界末日了,松哥都没找到女朋友,因此松哥感到很困惑.没想到到了世界末日都没人喜欢我.松哥一生气就发布了征友启事,第二天,一共有n个人报名应征松哥女友.松哥对女友的要求有三点,第一点,名字必须有三个字,第二点,名字中要带Li,第三点名字中要带Ting.松哥希望你能从n个人中.松哥决定选取一人并和她约会.你能找到是谁嘛?
输入
多组测试数据.
每组测试数据的第一行是一个正整数(n<=100).
接下来n行分别有n个名字.每个名字不超过20个字符.
名字的格式为:名+姓,且首字母大写,比如沈利松就叫LiSongShen.
输出
对于每组数据输出与松哥约会的名字.
输入数据保证只有一个人满足松哥的要求.
输入样例 1
2
LiSongShen
LiTingXu
输出样例 1
LiTingXu
#include
#include
using namespace std;
int main()
{
int n,cont;
string s;
while(cin>>n)
{
while(n--)
{
cin>>s;
cont=0;
for(int i=0; i<s.length(); i++)
{
if(s[i]>='A'&&s[i]<='Z')
cont++;
}
if(cont!=3)
continue;
if(s.find("Li")<s.length()&&s.find("Ting")<s.length())
{
for(int i=0; i<s.length(); i++)
cout<<s[i];
cout<<endl;
}
}
}
return 0;
}
描述
松哥历尽千辛万苦终于找到女朋友了,但是一星期后又回到了单身的日子,松哥很生气后果很严重,所以松哥决定大吃一顿,但是由于松哥很胖,他要吃m千克的东西才会饱,松哥喜欢吃n样东西,每份东西有ai千克,需要bi元钱,只有ci份.松哥希望知道最少需要花多少钱才能使他吃饱,你能告诉他嘛.东西只能一份一份买,不能只买半份.
输入
多组测试数据.
每组测试数据的第一行包含两个正整数n,m(n<=100,m<=10000).
第二行有n个正整数a1,a2,a3,a4…an-1.(ai<=10000)
第三行有n个正整数b1,b2,b3,b4…bn-1.(bi<=100)
第四行有n个正整数c1,c2,c3,c4…cn-1.(ci<=100)
输出
对于每组数据输出能使松哥吃饱所需要花费最少的钱.如果松哥吃完了所有的东西还不能吃饱,请输出“impossible”.
输入样例 1
3 1
1 1 2
1 2 1
1 1 1
3 100
1 1 2
1 2 1
1 1 1
2 2
2 1000
2 10
2 2
2 5
2 1000
2 10
2 2
输出样例 1
1
Impossible
2
10
#include
using namespace std;
const int maxn=11000;
int main()
{
int m,n;
int a[maxn],b[maxn],c[maxn],s[maxn];
while(cin>>n>>m)
{
int money=0,weight=0;
for (int i = 0; i < n; i++)
cin>>a[i];//每份食物的重量
for (int i = 0; i < n; i++)
cin>>b[i];//每份食物的价钱
for (int i = 0; i < n; i++)
{
cin>>c[i];//每份食物的数量
money+=b[i]*c[i];//全部吃完的价钱
weight+=c[i]*a[i];//全部吃完的重量
}
if(weight<m)
cout << "Impossible" << endl;
else
{
for(int i=1;i<=m;i++)
s[i]=money;
s[0]=0;
for (int i=0;i<n;i++)
{
for (int j=m-1;j>=0;j--)
{
if(s[j]!=money)//当还没有到达全部吃完的价钱
{
for(int k=1;k<=c[i];k++)
{
if(j+k*a[i]>=m)//当前的之前时刻已吃的千克数+当前选择吃进去的千克数 已经能满足吃饱的条件的话
s[m]=min(s[m],s[j]+k*b[i]);//选择花费钱最少的情况
else
s[j+k*a[i]] = min(s[j+k*a[i]] ,s[j]+k*b[i]);//没吃饱的时候,选择当前时刻吃和不吃时花费的钱的最少的情况
}
}
}
}
cout << s[m] << endl;
}
}
return 0;
}
描述
松哥大吃一顿后,他的体重随着时间的增长而不断增长,直到有一天他的体重达到了n吨,他意识到他不能再这样下去了,所以他居然决定减肥。他每天上午跑步能够减少a吨,但是晚上吃饭又增加了b吨。松哥想要直到第几天后他的体重第一次小于m吨,你能告诉他嘛?
输入
多组测试数据。
每组测试数据包含4个正整数n,m,a,b。
所有的整数大小均不大于10000。
输出
对于每组测试数据,输出一个整数代表松哥第几天后他的体重第一次小于m吨。
如果不可能输出”impossible”.
输入样例 1
5 1 3 1
输出样例 1
2
#include
#include
int main()
{
int n,a,b,m;
while(~scanf("%d%d%d%d",&n,&m,&a,&b))
{
int day=0;
while(n>=m)
{
day++;
n=n-a;
if(n<m)
{
break;
}
if(b>=a)
{
day=-1;
break;
}
n+=b;
}
if(day>=0)
printf("%d\n",day);
else
printf("impossible\n");
}
return 0;
}
描述
松哥有次突发奇想,决定回高中再上高中数学课,数学老师提了这样一个问题:有一个分段函数T(0,n)=n(n>0),T(k,n)=T(k-1,1)+T(k-1,2)+…+T(k-1,n)(k>0,n>0).第一天数学老师问他,松松对于T(1,1)你怎么看?第二天数学老师问他,松松对于T(2,2)你怎么看?第三天数学老师问他,松松对于T(3,3)你怎么看?……松哥怒了,松哥决定一次把所有函数值全部算出来,但是由于他智商有限,所以他想请求你的帮助.
输入 输出 输入样例 1 描述 描述 描述
多组测试数据.
每组测试数据包含一个正整数k,n.(0
对于每组测试数据,输出T(k,n)mod 100007.
0 2
1 3
2 5
输出样例 1
2
6
35#include
松哥的困惑V
松哥上了数学课之后,觉得自己智力实在有所不足,所以他决定找人辩论,以提高自己的智力,已知松哥目前的智力是m,他决定和n个人辩论,如果他对手的智力高于他,松哥的智力能够提升2,否则只能提升1,假设松哥能够取得所有的胜利,请问他完成n场辩论后能够得到的最高智力是多少?
输入
多组测试数据.
每组测试数据的第一行包含两个正整数m,n.(m<=100,n<=10^5)
第二行为n个不大于100的整数,代表与他辩论人的智力.
输出
对于每组测试数据,他完成n场辩论后,能取得的最大的智力.
输入样例 1
91 5
88 90 92 94 98
输出样例 1
99#include
又是比智力
松哥上了数学课之后,觉得自己智力实在有所不足,所以他决定找人辩论,以提高自己的智力,已知松哥目前的智力是m,他决定和n个人辩论,如果他对手的智力低于他,松哥的智力能够提升2,否则只能提升1,假设松哥能够取得所有的胜利,请问他完成n场辩论后能够得到的最高智力是多少?
输入
多组测试数据.
每组测试数据的第一行包含两个正整数m,n.(m<=100,n<=10^5)
第二行为n个不大于100的整数,代表与他辩论人的智力.
输出
对于每组测试数据,他完成n场辩论后,能取得的最大的智力.
输入样例 1
91 5
88 90 92 94 98
输出样例 1
101#include
松哥的困惑VII
有一天dp小王子偷偷摸摸找到松哥问他:已知n=o*2^p,已知n你能求出o和p嘛?松哥笑了笑告诉他,明天再告诉你。其实松哥并不知道答案,所以他想让你告诉他答案,然后他在把答案告诉dp小王子,松哥发现有可以有很多组o和p,所以决定只告诉他p最大的一组,O(∩_∩)O哈哈~
输入
多组测试数据.
每组测试数据有一个整数n.
n在int范围内.
输出
对于每组测试数据,输出满足条件的o和p,p尽可能大
输入样例 1
24
输出样例 1
3 3#include