![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CCF
Eternity_GQM
ICPC铁牌选手,努力向上的大二软工蒟蒻,欢迎私信评论交流!!!
展开
-
2021-6-12【CCF】【扫雷】
题目描述扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。输入第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分原创 2021-06-23 15:47:42 · 117 阅读 · 2 评论 -
2021-6-11【CCF】【相似度】
题目描述给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。输入第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。1 <= m <= 100, 1 <= n <= 100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑原创 2021-06-20 16:27:14 · 175 阅读 · 0 评论 -
2021-6-10【CCF】【Self-Numbers 】
#include<bits/stdc++.h>using namespace std;#define N 10000100int solve(int a){//d(n); int sum=a; while(a){ sum+=a%10; a/=10; } return sum;}int SN[N],n,k,s,NSN;bool bucket[N];int main(){ int t=1; memset(bucket,true,sizeof(bucket));.原创 2021-06-20 16:17:41 · 81 阅读 · 0 评论 -
2021-5-23【CCF】【1051. 合影】
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;float a1[50],a2[50];int main(){ int n; cin>>n; int cnt1=0,cnt2=0; for(int q=0;q<n;q++) { char a[10]; float h; cin>>a>>h; if(.原创 2021-06-02 17:40:27 · 68 阅读 · 0 评论 -
2021-5-21【CCF】【1050. 矩阵乘法】
题目描述计算两个矩阵的乘法。nm阶的矩阵A乘以mk阶的矩阵B得到的矩阵C 是n*k阶的,且C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + …… +A[i][m-1]*B[m-1]j。输入第一行为n, m, k,表示A矩阵是n行m列,B矩阵是m行k列,n, m, k均小于100;然后先后输入A和B两个矩阵,A矩阵n行m列,B矩阵m行k列,矩阵中每个元素的绝对值不会大于100。输出输出矩阵C,一共n行,每行k个整数,整数之间以一个空格分开。分析:由定义可得原创 2021-05-24 17:21:28 · 540 阅读 · 1 评论 -
2021-5-20【CCF】【1049. 旋转图像】
题目描述输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。输入第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。输出m行,每行n个整数,为顺时针旋转90度后的图像。相邻两个整数之间用单个空格隔开。样例输入3 31 2 34 5 67 8 9样例输出7 4 18 5 29 6原创 2021-05-24 17:04:58 · 216 阅读 · 0 评论 -
2021-5-19【CCF】【1048. 检测矩阵】
题目描述给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。"改变矩阵元素"的操作定义为0变成1或者1变成0。输入输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。输出如果矩阵符合条件,则输出OK;如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。如原创 2021-05-24 16:52:08 · 306 阅读 · 0 评论 -
2021-5-13【CCF】【1047. 寻找鞍点】
题目描述给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25输入输入包含一个5行5列的矩阵输出如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"样例输入11 3 5 6 912原创 2021-05-13 21:16:16 · 721 阅读 · 0 评论 -
2021-5-12【CCF】【1046. 打印方阵】
#include<iostream>using namespace std;int main(){ int n,i,j,k=1,x[205][105]; cin>>n; for(i=0;i<=2*n-1;i++) { if(i<n) if(i%2==1)for(j=0;j<=i;j++)x[i][j]=k++; else for(j=i;j>=0;j--)x[i][j]=k++; else if(i%2==1)for(.原创 2021-05-12 22:51:59 · 76 阅读 · 0 评论 -
2021-5-12【CCF】【1044. 最近元素】
#include<iostream>#include<cstring>using namespace std;int a[100001];int search(int x,int left,int right){ if(left>right) { return left; } if(left<=right) { int mid=(left+right)/2; if(x==a[mid]) return mid; els.原创 2021-05-12 22:43:42 · 88 阅读 · 0 评论 -
2021-5-12【CCF】【1043. 矩形分割 】
题目描述平面上有一个大矩形,其左下角坐标(0,0),右上角坐标(R,R)。大矩形内部包含一些小矩形,小矩形都平行于坐标轴且互不重叠。所有矩形的顶点都是整点。要求画一根平行于y轴的直线x=k(k是整数) ,使得这些小矩形落在直线左边的面积必须大于等于落在右边的面积,且两边面积之差最小。并且,要使得大矩形在直线左边的的面积尽可能大。注意:若直线穿过一个小矩形,将会把它切成两个部分,分属左右两侧。输入第一行是整数R,表示大矩形的右上角坐标是(R,R) (1 <= R <= 1,000,000)。原创 2021-05-12 22:38:34 · 120 阅读 · 0 评论 -
2021-5-9【CCF】【1041. 志愿者选拔】
#include<bits/stdc++.h>using namespace std;struct students{//结构体 int num; int s;}stu[5005];bool cmp(students a,students b){//结构体排序 if(a.s!=b.s){ return a.s>b.s; }else{ return a.num<b.num; }}int main(){ int n,m; cin>>n.原创 2021-05-09 23:59:50 · 199 阅读 · 0 评论 -
2021-5-9【CCF】【1039. 2的n次方】
题目描述对于任意给定的n,计算2的n次方。输入输入整数n。输出输出2的n次方的值。样例输入3样例输出8数据范围限制0<=n<=20#include<bits/stdc++.h>using namespace std;int main(){ int m, n; cin>>m; cout<<(int)pow(2,m); return 0;}#include<bits/stdc++.h>using nam原创 2021-05-09 23:12:15 · 127 阅读 · 0 评论 -
2021-5-9【CCF】【1040. 除法游戏】【详解】
题目描述小A和小B是一对好朋友,他们的爱好是研究数字。学过除法之后,他们就发明了一个新游戏:两人各说一个数字分别为a和b,如果a能包含b的所有质数因子,那么A就获胜。但是当数字太大的时候,两个朋友的脑算速度就有点跟不上了。现在,请你写个程序,来判断胜负吧:输入两个正整数,表示a和b(2≤a, b≤10 18)。如果a包含了b的所有质数因子,则输出“Yes”,否则输出“No”(输出时没有引号)。输入输入两个正整数a和b,中间用一个空格隔开。输出如果a包含了b的所有质数因子,则输出“Yes”,否则输原创 2021-05-09 23:12:31 · 738 阅读 · 0 评论 -
2021-5-8【CCF】【1038. 玩扑克】
题目描述又到休息时间了。两个小伙伴要玩扑克牌比大小的游戏:每人分到一种花色的扑克牌,然后每人随机出一张牌,大者胜,最后获胜次数多的人,赢一轮。不开心的事发生了,玩了一轮后,发现扑克牌竟然少了一张。到底少了几呢?你能写个程序,快速找到扑克x吗?输入输入一行,包括25个用空格分隔的数字(A表示为1,J、Q、K表示为11、12、13)。输出输出数字x,表示缺少的扑克牌数字。样例输入9 1 13 2 6 10 7 8 3 11 4 1 5 9 10 2 4 3 12 13 11 5 8 6 7样原创 2021-05-08 22:50:01 · 158 阅读 · 1 评论 -
2021-5-8【CCF】【1037. 个位数 】
题目描述计算a^b的个位数。输入一行两个空格隔开的正整数表示a和b。输出输出a^b的个位数。样例输入2 4样例输出6数据范围限制1<=a,b<=100000#include<bits/stdc++.h>using namespace std;int main(){ int a,b,c; cin>>a>>b; a=a%10;c=a; for(int i=1;i<b;i++) { a=a*c; if(a>原创 2021-05-08 22:43:07 · 147 阅读 · 0 评论 -
2021-5-8【CCF】【1036. 进制转换】
题目描述模拟将任意给定的正整数n转换成对应的二进制数的过程:对于输入的任意正整数n,输出若干行“shang:* yu:*”的形式,表示其转换过程。输入输入正整数n。输出输出其转为二进制的过程(具体见样例)。样例输入13样例输出shang:6 yu:1shang:3 yu:0shang:1 yu:1shang:0 yu:1数据范围限制1<=n<=5000#include<bits/stdc++.h>using namespace std;int ma原创 2021-05-08 22:13:43 · 247 阅读 · 0 评论 -
2021-5-8【CCF】【1035. 数根】
题目描述数根是这样定义的:对于一个正整数n,将它的各个数位上的数字相加得到一个新数,如果这个数是一位数,我们就称之为n的数根,否则重复处理直到它成为一个一位数。例如,n=34,3+4=7,7是一位数,所以7是34的数根。再如,n=345,3+4+5=12,1+2=3,3是一位数,所以3是345的数根。对于输入数字n,编程计算它的数根。输入输入正整数n。输出输出n的数根。样例输入345样例输出3数据范围限制1<=n<2^31#include<bits/stdc+原创 2021-05-08 22:06:59 · 1153 阅读 · 0 评论 -
2021-5-8【CCF】【1034. 钞票兑换】
题目描述将任意给定的整百元钞票,兑换成10元、20元、50元小钞票形式。输出兑换方案总数。输入输入需要兑换的钞票总数n。输出输出方案总数。样例输入100样例输出10数据范围限制100<=n<=1000000#include <stdio.h>int main(){ int w; scanf("%d", &w); w /= 100; printf("%d", 5*w*w+4*w+1); return 0;}#include <原创 2021-05-08 21:36:28 · 146 阅读 · 0 评论 -
2021-5-8【CCF】【1032. 菱形 】
题目描述输入一个正整数n,输出用1至(2n-1)的数字组成的菱形。输入输入正整数n。输出输出对应的菱形(见样例)。样例输入3样例输出 1 12312345 123 1数据范围限制1<=n<=10#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; for(int i=0;i<n;i++){ for(int j=0;j<原创 2021-05-08 21:28:08 · 605 阅读 · 0 评论 -
2021-5-8【CCF】【1031. 等腰三角形】
题目描述输入一个正整数n,输出高为n的由*组成的等腰三角形。输入输入一个正整数。输出输出高为n的由*组成的等腰三角形。样例输入3样例输出 * ********数据范围限制1<=n<=20#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; for(int i=0;i<n;i++){ for(int j=0;j<n-i-1;j++原创 2021-05-08 13:13:07 · 439 阅读 · 0 评论 -
2021-5-8【CCF】【1030. 角谷猜想 】
题目描述角谷猜想又称冰雹猜想。它首先流传于美国,不久传到欧洲,后来由一位叫角谷的日本人带到亚洲。因为被称为角谷猜想。通俗地讲,角谷猜想的内容是这样的:任意给定一个自然数n,当n是偶数时,将它除以2,即将它变成n/2;当n是奇数时,就将它变成3n+1,……,若干步后,总会得到1。在上述演变过程中,将每一次出现的数字排列起来,就会出现一个数字序列。我们现在要解决的问题是:对于给定的n,求出数字序列中第一次出现1的位置。输入输入一个自然数n。输出输出序列中第一次出现1的位置。样例输入6样例输原创 2021-05-08 13:06:17 · 300 阅读 · 0 评论 -
2021-5-7【CCF】【1028. 判断互质】
题目描述输入两个正整数m和n,判断m和n是否互质(即最大公约数为1),是则输出Yes,否则输出No。输入输入两个整数m和n,中间用空格隔开。输出如互质输出Yes,否则输出No。样例输入36 56样例输出No数据范围限制1<=n,m<2^31#include<bits/stdc++.h>using namespace std;int gcd(int a,int b)//辗转相除法{ return a%b ? gcd(b,a%b):b;}int m原创 2021-05-08 12:59:40 · 514 阅读 · 0 评论 -
2021-5-6【CCF】【1029. 信息加密】
题目描述输入两个正整数m和n,判断m和n是否互质(即最大公约数为1),是则输出Yes,否则输出No。输入输入两个整数m和n,中间用空格隔开。输出如互质输出Yes,否则输出No。样例输入36 56样例输出No数据范围限制1<=n,m<2^31#include<bits/stdc++.h>using namespace std;int main(){ string n; cin>>n; for(int i=0;i<n.size();i原创 2021-05-08 12:57:04 · 735 阅读 · 0 评论 -
2021-5-5【数字识别 (Standard IO)】【CCF】
数字识别 (Standard IO)题目描述输入一个不多于四位的正整数,求出它是几位数,并分别打印出各位上的数字。输入输入一个不多于四位的正整数x。输出第一行输出x的位数num,接下来num行从高位到低位输出x的每一位上的数字。样例输入123样例输出3123数据范围限制1<=x<=9999#include<bits/stdc++.h>using namespace std;int main(){ string n; cin>>.原创 2021-05-05 19:34:55 · 417 阅读 · 0 评论