
- #include
- using namespace std;
- int main()
- {
- char a[100] = {'\0'};
- cin.getline(a,100);
- int lc = 0;
- int cnt[100] = {0};
- int n = strlen(a);
- char c[100][100] = {'\0'};
- for(int i = 0;i
- {
- for(int j = i;j
- {
- char b[100] = {'\0'};
- for(int k = i;k<=j;k++)
- {
- b[k-i] = a[k];
- }
- bool f = false;
- for(int k = 0;k
- {
- bool t = true;
- for(int h = 0;h<100;h++)
- {
- if(c[k][h]!=b[h])
- {
- t = false;
- break;
- }
- }
- if(t==true)
- {
- f = true;
- cnt[k]++;
- break;
- }
- }
- if(f==false)
- {
- for(int k = 0;k<100;k++)
- {
- c[lc][k] = b[k];
- }
- cnt[lc] = 1;
- lc++;
- }
- }
- }
- for(int i = 0;i
-1;i++)//排序 - {
- for(int j = 0;j
-1;j++) - {
- bool f = true;
- for(int k = 0;k<100;k++)
- {
- if(c[j][k]>c[j+1][k])
- {
- f = false;
- break;
- }
- }
- if(f==false)
- {
- char t[100] = {'\0'};
- for(int k = 0;k<100;k++)
- {
- t[k] = c[j][k];
- c[j][k] =c[j+1][k];
- c[j+1][k] = t[k];
- }
- int tt = cnt[j];
- cnt[j] = cnt[j+1];
- cnt[j+1] = tt;
- }
- }
- }
- for(int i = 0;i
- {
- if(cnt[i]>1)
- {
- int j = 0;
- while(c[i][j]!='\0'&&c[i][j]!=' ')
- {
- cout<
- j++;
- }
- cout<<" "<
- }
- }
- return 0;
- }
#6146. 流感传染
题目描述
有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。
在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。
请输出第m天得流感的人数。
输入格式
第一行一个数字n,n不超过100,表示有n*n的宿舍房间。
接下来的n行,每行n个字符,’.’表示第一天该房间住着健康的人,’#’表示该房间空着,’@’表示第一天该房间住着得流感的人。
接下来的一行是一个整数m,m不超过100。
输出格式
输出第m天,得流感的人数。
样例
样例输入
复制- 5
- ....#
- .#.@.
- .#@..
- #....
- .....
- 4
样例输出
复制16
- #include
- using namespace std;
- int n;
- int sum = 0;
- char a[100][100];
- void aaa(int,int);
- int main()
- {
- cin>>n;
- for(int i = 0;i
- {
- for(int j = 0;j
- {
- cin>>a[i][j];
- if(a[i][j]=='@')
- {
- sum++;
- }
- }
- }
- int m;
- cin>>m;
- for(int k = 1;k
- {
- for(int i = 0;i
- {
- for(int j = 0;j
- {
- aaa(i,j);
- }
- }
- for(int i = 0;i
- {
- for(int j = 0;j
- {
-
- if(a[i][j]=='!')
- {
- sum++;
- a[i][j] = '@';
- }
- }
-
- }
-
- }
- cout<
- return 0;
- }
- void aaa(int i,int j)
- {
- if(a[i][j]=='@')
- {
- if(a[i+1][j]=='.') a[i+1][j] = '!';
- if(a[i-1][j]=='.') a[i-1][j] = '!';
- if(a[i][j+1]=='.') a[i][j+1] = '!';
- if(a[i][j-1]=='.') a[i][j-1] = '!';
- }
- }
#4194. 吃糖果2
题目描述
现有n(50 > n > 0)个糖果,每天只能吃2个或者3个,请计算共有多少种不同的吃法吃完糖果。
输入格式
输入的每一行包括一组测试数据,即为糖果数n。最后一行为0,表示测试结束。
输出格式
每一行输出对应一行输入的结果,即为吃法的数目。
样例
样例输入
复制- 1
- 2
- 3
- 4
- 12
- 0
样例输出
复制- 0
- 1
- 1
- 1
- 12
- #include
- using namespace std;
- int aaa(int);
- int main()
- {
- int a[1000];
- int n = 0;
- while(true)
- {
- int t;
- cin>>t;
- if(t==0) break;
- a[n] = t;
- n++;
- }
- for(int i = 0;i
- {
- cout<<aaa(a[i])<
- }
- return 0;
- }
- int aaa(int n)
- {
- if(n==1||n==2||n==3||n==4) return 1;
- return aaa(n-2)+aaa(n-3);
- }
#1007. 波兰表达式
题目描述
波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的波兰表示法为+ 2 3。
波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的波兰表示法为* + 2 3 4。
本题求解波兰表达式的值,其中运算符包括+ - * /四个。
输入格式
输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。
输出格式
输出为一行,表达式的值。
可直接用printf("%f\n", v)输出表达式的值v。
样例
样例输入
复制* + 11.0 12.0 + 24.0 35.0
样例输出
复制1357.000000
数据范围与提示
提示 可使用atof(str)把字符串转换为一个double类型的浮点数。atof定义在math.h中。 此题可使用函数递归调用的方法求解。 来源 计算概论05
- #include
- #include
- #include
- #include
- #include
- #include
- using namespace std;
- double aaa();
- int main()
- {
- cout<
setprecision(6)<<aaa(); - return 0;
- }
- double aaa()
- {
- string s;
- cin>>s;
- if(s=="+") return aaa()+aaa();
- else if(s=="-") return aaa()-aaa();
- else if(s=="*") return aaa()*aaa();
- else if(s=="/") return aaa()/aaa();
- else return atof(s.c_str());
- }
#5063. Minecraft
题目描述
Minecraft 是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。
在 Minecraft 中,基本的建筑元素是边长为 1 个单位的立方体,Tony 想用 N 个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。
如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?
输入格式
一个整数 N,表示小明所拥有的小立方体的个数。N 不会超过 1000。
输出格式
一个整数,即小明最少用掉的贴纸有多少张。
样例
样例输入
复制9
样例输出
复制30
- #include
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- int mi = 99999;
- int h,l;
- for(int i = 1;i<=n/3;i++)
- {
- for(int j = i;j<=n/3;j++)
- {
- if(n%(i*j)==0)
- {
- h = n/(i*j);
- l = i*j*2+i*h*2+j*h*2;
- if(l
- }
- }
- }
- cout<
- return 0;
- }
#4193. 因子问题
题目描述
任给两个正整数N、M,求一个最小的正整数a,使得a和(M-a)都是N的因子。
输入格式
包括两个整数N、M。N不超过1,000,000。
输出格式
输出一个整数a,表示结果。如果某个案例中满足条件的正整数不存在,则在对应行输出-1
样例
样例输入
复制35 10
样例输出
复制5
- #include
- using namespace std;
- int main()
- {
- int n,m;
- cin>>n>>m;
- for(int i = 1;i
- {
- if(n%i==0&&n%(m-i)==0)
- {
- cout<
- return 0;
- }
- }
- cout<<-1;
- return 0;
- }
#4300. 「2023.09 三级」谁是你的潜在朋友
题目描述
“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。 首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。
输入格式
第一行两个整数N,M,2 <= N ,M<= 200。接下来有N行,第i(i = 1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)
输出格式
包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^ ^)
样例
样例输入
复制- 4 5
- 2
- 3
- 2
- 1
样例输出
复制- 1
- BeiJu
- 1
- BeiJu
- #include
- using namespace std;
- int a[10000] = {0};
- int c[10000];
- int main()
- {
- int n,m;
- cin>>n>>m;
-
- for(int i = 0;i
- {
- cin>>c[i];
- a[c[i]]++;
- }
- cout<
- for(int i = 0;i
- {
- else cout<<"BeiJu"<
- }
- return 0;
- }
#4173. 课程冲突
题目描述
小 A 修了 n 门课程, 第 i 门课程是从第 ai 天一直上到第 bi 天。
定义两门课程的冲突程度为 : 有几天是这两门课程都要上的。
例如 a1=1,b1=3,a2=2,b2=4 时, 这两门课的冲突程度为 2。
现在你需要求的是这 n 门课中冲突程度最大的两门课的冲突程度。
输入格式
第一行一个正整数 n 表示课程数量。 接下来 n 行,每行两个正整数 ai,bi。 2 ≤ n≤ 1000, 1 ≤ ai ≤ bi ≤ 1000。
输出格式
输出一个整数表示最大的冲突程度。
样例
样例输入
复制- 3
- 1 3
- 2 4
- 5 5
样例输出
复制2
- #include
- using namespace std;
- int a[100];
- int b[100];
- int main()
- {
- int n;
- cin>>n;
- for(int i = 0;i
- {
- cin>>a[i];
- cin>>b[i];
- }
- int ma = -99999;
- for(int i = 0;i
-1;i++) - {
- for(int j = i+1;j
- {
- int s = min(b[i],b[j])-max(a[i],a[j])+1;
- ma = max(ma,s);
- }
- }
- cout<
- return 0;
- }
#5064. 踩方格
题目描述
有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:
a、每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;
b、走过的格子立即塌陷无法再走第二次;
c、只能向北、东、西三个方向走;
请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。
输入格式
允许在方格上行走的步数n(n≤20)。
输出格式
计算出的方案数量。
样例
样例输入
复制2
样例输出
复制7
- #include
- using namespace std;
- int aaa(int);
- int main()
- {
- int n;
- cin>>n;
- cout<<aaa(n);
- return 0;
- }
- int aaa(int n)
- {
- if(n==1) return 3;
- if(n==2) return 7;
- return aaa(n-1)*2+aaa(n-2);
- }
-
相关阅读:
Kubernetes集群Pod控制器
SpringCloud学习(七)----- 使用Feign调用别的微服务的方法
大数据Hadoop入门01——大数据导论
【学习笔记】在 windows 下创建多线程 C++
DDD技术方案落地实践
【博客702】shell flock实现单例模式执行任务
互联网简史-分久必合,合久必分
结构型-代理模式
react-Effect Hook
函数指针+回调函数+点云鼠标点选和框选
-
原文地址:https://blog.csdn.net/mmz1207/article/details/136464836