
信息学奥赛一本通题解
信息学奥赛一本通题解
蜀都客车
单击此处修改
展开
-
[信息学奥赛一本通题解]1186:出现次数超过一半的数「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】给出一个含有n(0 < n ≤ 1000)个整数的数组,请找出其中出现次数超过一半的数。数组中的数大于-50且小于50。【输入】第一行包含一个整数n,表示数组大小;第二行包含n个整数,分别是数组中的每个元素,相邻两个元素之间用单个空格隔开。【输出】 如果存在这样的数,输出这个数;否则输出no。【输入样例】 3 1 2 2【输出样例】 2㊁讲解储存每个字母出现的次数,最后原创 2020-08-29 20:23:20 · 1093 阅读 · 0 评论 -
[信息学奥赛一本通题解]1187:统计字符数「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB提交数: 8767 通过数: 5052 【题目描述】 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。【输入】输入包含一行,一个字符串,长度不超过1000。【输出】 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一 个空格分开。如果有多个字符出现的次数相同且最多,那么输出 ascii码最小的那一个字符。【输入样例】 abbccc【输出样例】 c 3原创 2020-08-29 17:35:05 · 1537 阅读 · 1 评论 -
[信息学奥赛一本通题解]1310:【例2.2】车厢重组「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平 旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。【输入】 有两行数据,第一行原创 2020-08-27 17:44:58 · 444 阅读 · 0 评论 -
[信息学奥赛一本通题解]1307:【例1.3】高精度乘法「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB通过率:约35%(仅供参考)【题目描述】输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。【输入】输入两个高精度正整数M和N。【输出】求这两个高精度数的积。【输入样例】363【输出样例】108㊁讲解1 算法这道题由于最大值是一个100位的数,因此需要使用高精度算法㊂代码展示#include <cstdio>#include <cstring&原创 2020-08-20 18:01:29 · 1081 阅读 · 0 评论 -
[信息学奥赛一本通题解]1153:绝对素数「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13。试求出所有二位绝对素数。【输入】(无)【输出】所有二位绝对素数(由小到大,一个数一行)。㊁讲解1 算法暴力枚举㊂代码展示#include <cstdio>#include <cmath>int upside_down( int x ){ int m, n, z; m =原创 2020-08-04 20:28:18 · 1442 阅读 · 0 评论 -
[信息学奥赛一本通题解]1170:计算2的N次方「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】任意给定一个正整数N(N≤100),计算2的n次方的值。【输入】输入一个正整数N。【输出】输出2的N次方的值。【输入样例】5【输出样例】32㊁讲解1 算法这道题由于最大值是2的100次方,因此需要使用高精度算法㊂代码展示#include<cstdio>#define smax 110int main (){ int a[smax+1] = {0}原创 2020-08-04 20:19:03 · 1114 阅读 · 0 评论 -
[信息学奥赛一本通题解]1152:最大数max(x,y,z)「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】任意给定一个正整数N(N≤100),计算2的n次方的值。【输入】输入一个正整数N。【输出】输出2的N次方的值。【输入样例】5【输出样例】32㊁讲解1 算法这道题看似简单,不就是一个pow函数就可以解决问题了吗?但是你要看清楚了,最大值是2的100次方哦2的100次方是1267650600228229401496703205376,C++中没有哪个变量可以装下这么大的数,因此就要用到原创 2020-08-03 12:41:45 · 2207 阅读 · 0 评论 -
[信息学奥赛一本通题解]1218:取石子游戏「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】有两堆石子,两个人轮流去取。每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍,最后谁能够把一堆石子取空谁就算赢。比如初始的时候两堆石子的数目是25和7。25 7 --> 11 7 --> 4 7 --> 4 3 --> 1 3 --> 1 0选手1取 选手2取 选手1取 选手2取 选手1取最后选手1(先取的)获胜,在取的过程中选原创 2020-07-16 20:47:29 · 524 阅读 · 0 评论 -
[信息学奥赛一本通题解]1318:【例5.3】自然数的拆分「v2.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。当n=7共14种拆分方法:7=1+1+1+1+1+1+17=1+1+1+1+1+27=1+1+1+1+37=1+1+1+2+27=1+1+1+47=1+1+2+37=1+1+57=1+2+2+27=1+2+47=1+3+37=1+67=2+2+37=2+57=3+4total=14【输入】输入n。【输出】原创 2020-07-15 11:34:54 · 646 阅读 · 0 评论 -
[信息学奥赛一本通题解]1318:【例5.3】自然数的拆分「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。当n=7共14种拆分方法:7=1+1+1+1+1+1+17=1+1+1+1+1+27=1+1+1+1+37=1+1+1+2+27=1+1+1+47=1+1+2+37=1+1+57=1+2+2+27=1+2+47=1+3+37=1+67=2+2+37=2+57=3+4total=14【输入】输入n。【输出】原创 2020-07-15 11:31:44 · 528 阅读 · 0 评论 -
[信息学奥赛一本通题解]1213:八皇后问题「v2.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB提交数: 13767 通过数: 4826 【题目描述】在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。【输入】(无)【输出】按给定顺序和格式输出所有八皇后问题的解(见样例)。【输入样例】(无)【输出样例】No. 11 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0原创 2020-07-15 09:15:02 · 564 阅读 · 0 评论 -
[信息学奥赛一本通题解]1213:八皇后问题「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB提交数: 13767 通过数: 4826 【题目描述】在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。【输入】(无)【输出】按给定顺序和格式输出所有八皇后问题的解(见样例)。【输入样例】(无)【输出样例】No. 11 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0原创 2020-07-15 09:14:31 · 907 阅读 · 0 评论 -
[信息学奥赛一本通题解]1317:【例5.2】组合的输出 「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5【输入】一行两个自然数n原创 2020-07-14 15:28:58 · 667 阅读 · 0 评论 -
[信息学奥赛一本通题解]1002:输出第二个整数 「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数。把第二个输入的整数输出。【输入】只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。【输出】只有一行,一个整数,即输入的第二个整数。【输入样例】123 456 789【输出样例】456㊁讲解此题略㊂代码展示#include<bits/stdc++.h>using namespace st原创 2020-07-14 10:25:57 · 334 阅读 · 0 评论 -
[信息学奥赛一本通题解]1002:输出第二个整数 「v2.0」
㊀题目时间限制: 1000 ms 内存限制: 65536 KB【题目描述】输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数。把第二个输入的整数输出。【输入】只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。【输出】只有一行,一个整数,即输入的第二个整数。【输入样例】123 456 789【输出样例】456㊁讲解此题略㊂代码展示#include<cstdio>int main (){ int x, y,原创 2020-07-14 10:22:49 · 384 阅读 · 0 评论 -
[信息学奥赛一本通题解]1001:Hello,World! 「v1.0」
㊀题目【题目描述】编写一个能够输出“Hello,World!”的程序,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。提示:“Hello,World!”中间没空格。【输入】无【输出】Hello,World!【输入样例】(无)【输出样例】Hello,World!㊁讲解此题略㊂代码展示#include<cstdio>int main ( ) { printf( "Hello,World!原创 2020-07-14 09:57:29 · 256 阅读 · 0 评论 -
[信息学奥赛一本通题解]1000:入门测试题目 「v1.0」
㊀题目时间限制: 1000 ms 内存限制: 32768 KB【题目描述】求两个整数的和。【输入】一行,两个用空格隔开的整数。【输出】两个整数的和。【输入样例】2 3【输出样例】5㊁讲解此题略㊂代码展示#include <cstdio>int main(){ int a,b; scanf ( "%d%d", &a,&b ); printf( "%d", a+b ); return 0;}㊃其他1 更原创 2020-07-14 09:43:06 · 368 阅读 · 0 评论