小白编程题:圣诞礼物
描述
圣诞节就要到了,同学们在做游戏获得圣诞礼物。同学们排成一队。首先,前两名同学玩游戏,然后失败者走到队尾,胜者将和下个同学比赛,直到有同学连续赢得n场比赛,则这个同学成为赢家,将获得圣诞礼物。
对于每个参与的同学,我们都知道其能量,在一场比赛中,能量强大的同学获胜,如果能量相同,后来者获胜,确定谁能获得精心准备的圣诞礼物。
I/O格式
输入
第一行包括两个整数:m和n( 2<=m<=500,2<=n<=1e12)--表示人数和赢得数目。
第二行包括m个数字 a1,a2,...,am(1<=ai<=m)--表示m个同学的能量。
输出
输出一行--获胜者的能量。
I/O样例
输入样例 1
2 2 1 2 4 2 3 1 2 4 6 2 6 5 3 1 2 4
输出样例 1
2 3 6
实现
本题考虑采用双指针思想
#include<stdio.h>
#define MAX 500
int main() {
int m;
long n;
while(scanf("%d %ld", &m, &n) != EOF) {
long a[MAX + 1];
for(long i = 1; i <= m; i++) {
scanf("%ld", &a[i]);
}
long winner = 1,wins = 0;//winner:获胜者下标 wins:获胜次数
for(long i = 2; i <= m; i++) {
if(a[i] > a[winner]) {
winner = i;
wins = 1;
} else {
wins++;
}
if(wins == n) {
break;
}
}
printf("%ld\n", a[winner]);
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具