博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1289 大鱼吃小鱼 1305 Pairwise Sum and Divide 1344 走格子 1347 旋转字符串 1381 硬币游戏...
阅读量:4655 次
发布时间:2019-06-09

本文共 4736 字,大约阅读时间需要 15 分钟。

1289 大鱼吃小鱼 

有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?
Input
第1行:1个数N,表示鱼的数量(1 <= N <= 100000)。第2 - N + 1行:每行两个数A[i], B[i],中间用空格分隔,分别表示鱼的大小及游动的方向(1 <= A[i] <= 10^9,B[i] = 0 或 1,0表示向左,1表示向右)。
Output
输出1个数,表示最终剩下的鱼的数量。
Input示例
54 03 12 01 05 0
Output示例
2 输入的先后顺序即为位置,可以以左边开始,就是如果向左游就和前面的向右游的鱼判断大小,如果没有就不要管它了(随它游吧),然后吃了的话总数减少。。。就好了。
1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 const int NN=100007; 9 int n,top,ans;10 int a[NN];11 12 int main()13 {14 scanf("%d",&n);15 top=0,ans=0;16 int x,y;17 for (int i=1;i<=n;i++)18 {19 scanf("%d%d",&x,&y);20 if (y==0)21 {22 for (;top>0;top--)23 if (x>a[top]) ans++;24 else25 {26 ans++;27 break;28 }29 }30 else a[++top]=x;31 }32 printf("%d\n",n-ans);33 }

 1305 Pairwise Sum and Divide

有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整:
 
fun(A)
    sum = 0
    for i = 1 to A.length
        for j = i+1 to A.length
            sum = sum + Floor((A[i]+A[j])/(A[i]*A[j])) 
    return sum
 
给出数组A,由你来计算fun(A)的结果。例如:A = {1, 4, 1},fun(A) = [5/4] + [2/1] + [5/4] = 1 + 2 + 1 = 4。
Input
第1行:1个数N,表示数组A的长度(1 <= N <= 100000)。第2 - N + 1行:每行1个数A[i](1 <= A[i] <= 10^9)。
Output
输出fun(A)的计算结果。
Input示例
31 4 1
Output示例
4 一开始还是去模拟了,发现超时,还去删除了一些头文件,真蠢,发现分母是相乘的那么向下取整,很快就为0了,排个序,找找单调性,就解决了。
1 #include
2 #include
3 using namespace std; 4 5 typedef long long LL; 6 const int NN=100007; 7 8 int n; 9 int a[NN];10 11 int main()12 {13 scanf("%d",&n);14 for (int i=1;i<=n;i++)15 scanf("%d",&a[i]);16 sort(a+1,a+n+1); 17 LL sum=0;18 for (int i=1;i<=n;i++)19 for (int j=i+1;j<=n;j++)20 {21 LL x=(LL)(a[i]+a[j])/((LL)a[i]*a[j]);22 if (x==0) break;23 sum=sum+x;24 }25 printf("%lld",sum); 26 }

1344 走格子

有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值。如果A[i] > 0,机器人走到这个格子能够获取A[i]个能量,如果A[i] < 0,走到这个格子需要消耗相应的能量,如果机器人的能量 < 0,就无法继续前进了。问机器人最少需要有多少初始能量,才能完成整个旅程。
 
例如:n = 5。{1,-2,-1,3,4} 最少需要2个初始能量,才能从1号走到5号格子。途中的能量变化如下3 1 0 3 7。
Input
第1行:1个数n,表示格子的数量。(1 <= n <= 50000)第2 - n + 1行:每行1个数A[i],表示格子里的能量值(-1000000000 <= A[i] <= 1000000000)
Output
输出1个数,对应从1走到n最少需要多少初始能量。
Input示例
51-2-134
Output示例
2 顺序下去,找一个最小负值就好了。
1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 const long long INF=1e16+7; 9 10 int main()11 {12 long long x=0,y,ans=INF;13 int n;14 scanf("%d",&n);15 for (int i=1;i<=n;i++)16 {17 scanf("%lld",&y);18 x+=y;19 ans=min(ans,x);20 }21 if (ans<0) printf("%lld\n",abs(ans));22 else printf("0\n");23 }

1347 旋转字符串

S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。

现在问题是给定一个字符串,判断他是否可以由一个对串旋转任意次得到。

Input
第1行:给出一个字符串(字符串非空串,只包含小写字母,长度不超过1000000)
Output
对于每个测试用例,输出结果占一行,如果能,输出YES,否则输出NO。
Input示例
aaab
Output示例
YESNO 一开始一位hash去搞,后来不想打代码,花了60去看了别人代码,发现了一个规律,如果是对串旋转后也是具有对串性质,所以直接比较就好了。
#include 
#include
using namespace std;char str[1000005];int main(){ while(cin>>str) { int flag=0; int len=strlen(str); if(len%2!=0) { cout<<"NO"<

1381 硬币游戏 

有一个简单但是很有趣的游戏。在这个游戏中有一个硬币还有一张桌子,这张桌子上有很多平行线(如下图所示)。两条相邻平行线之间的距离是1,硬币的半径是R,然后我们来抛硬币到桌子上,抛下之后硬币有时候会和一些直线相交(相切的情况也算是相交),有时候不会。

请你来计算一下抛一次硬币之后,该硬币和直线相交数目的期望。

 
Input
第一行给出一个整数T,表示有T组数据(1<=T<=10000)。第2行到T+1,每行给出一个整数R。(0< R <= 10,000,000,000)
Output
对于每一个数据,在一行中输出答案的整数部分即可。
Input示例
11
Output示例
2 一开始看到期望吓傻,然后发现输入都是整数,发现乘2就可以了(不理解的花哥图看看就知道了)。
1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 int n; 9 10 int main()11 {12 scanf("%d",&n);13 int x;14 for (int i=1;i<=n;i++)15 {16 scanf("%d",&x);17 printf("%d\n",x*2);18 }19 }

 

转载于:https://www.cnblogs.com/fengzhiyuan/p/7261140.html

你可能感兴趣的文章
学习网站
查看>>
C#4.0新特性dynamic\可选参数、命名参数
查看>>
使用免费SSL证书让网站支持HTTPS访问
查看>>
第5章 使用MUI与H5+构建移动端app
查看>>
poj 2528 Mayor's posters (线段树+染色)
查看>>
eclipse中跳转到其它函数方法后如何快速返回原处
查看>>
第三次作业
查看>>
javascript相关知识
查看>>
数组对象去重
查看>>
你未必知道的12个JavaScript技巧
查看>>
mysql的基本操作命令
查看>>
微信小程序---数据缓存
查看>>
Python网页正文转换语音文件的操作方法
查看>>
常用SQL查询语句
查看>>
Redis Windows版安装详解
查看>>
linux后台运行python程序 nohup
查看>>
吴裕雄--天生自然 高等数学学习:对面积的曲面积分
查看>>
css
查看>>
Web应用程序整体测试基础——单元测试
查看>>
通过修改manifest文件来解决Vista/Win7/Win8/win10下应用程序兼容性问题
查看>>