1.问题描述
两个二进制数11110011101和1111101001的和是多少?请用二进制表示,注意在提交的时候不要提交前导0。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个二进制数,在提交答案时只填写这个二进制数,填写多余的内容将无法得分。
答案:101110000110
2.问题描述
在计算机存储中,15.125GB是多少MB?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:15488
3.问题描述
由1对括号,可以组成一种合法括号序列:()。
由2对括号,可以组成两种合法括号序列:()()、(())。
由4对括号组成的合法括号序列一共有多少种?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:35
4.问题描述
一棵包含有2019个结点的树,最多包含多少个叶结点?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:2018
5.问题描述
给定整数 m,在数列 a_1, a_2, ..., a_n中,如果两个数的和为 m 的倍数,则称为一个倍数对。
给定一个数列,请问数列中总共有多少个倍数对。
输入格式
输入的第一行包含两个整数 n, m,分别表示数列中的元素个数和给定的整数 m。
第二行包含 n 个整数 a_1, a_2, ..., a_n,相邻的整数间用空格分隔,表示给定的数列。
输出格式
输出一行包含一个整数,表示答案。
样例输入
6 3
6 1 2 5 6 2
样例输出
4
样例说明
倍数对包括:a_1 和 a_5, a_2 和 a_3, a_2 和 a_4, a_2 和 a_6。
评测用例规模与约定
对于 50% 的评测用例,1 <= n <= 100,1 <= m <= 1000,0 <= 数列中的数 <= 1000。
对于所有评测用例,1 <= n <= 1000,1 <= m <= 1000,0 <= 数列中的数 <= 10000。
答案:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000+10;
int a[maxn];
int main(){
memset(a,0,sizeof(a));
int n,m,num=0;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int j=0;j<n;j++){
for(int k=j+1;k<n;k++){
if((a[j]+a[k])%m==0)
num++;
}
}
cout<<num<<endl;
return 0;
}
6.问题描述
给定两个正整数 n 和 m,请问在整数 1 至 n 中,各位数字的平方和为 m 的总共有多少个?
例如,当 n=100,m=5 时,只有 12 和 21 各位数字的平方之和为 5,所以答案为 2。
输入格式
输入的第一行包含两个整数 n 和 m,用一个空格分隔。
输出格式
输出一行包含一个整数,表示答案。
样例输入
100 5
样例输出
2
评测用例规模与约定
对于 40% 的评测用例,1 <= n <= 1000,1 <= m <= 1000。
对于所有评测用例,1 <= n <= 1000000,1 <= m <= 1000。
答案:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m,num=0;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
int a=i,r=0;
while(a)
{
r+=(a%10)*(a%10);
a/=10;
}
if(r==m)
num++;
}
cout<<num<<endl;
return 0;
}
7.问题描述
小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。
请问在整数 1 至 n 中,洁净数有多少个?
输入格式
输入的第一行包含一个整数 n。
输出格式
输出一行包含一个整数,表示答案。
样例输入
30
样例输出
18
评测用例规模与约定
对于 40% 的评测用例,1 <= n <= 10000。
对于 80% 的评测用例,1 <= n <= 100000。
对于所有评测用例,1 <= n <= 1000000。
答案:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int num = n;
for(int i = 1; i <= n; i++){
int a = i;
int b = i;
while(a){
a = a%10;
b = b/10;
if(2 == a || 2 == b){
num--;
break;
}
a = a/10;
}
}
cout<< num ;
return 0;
}
8.问题描述
小明开了一家花店,这天,有个客户定了非常多的花,按客户的需要,这些花要排成 n 行 m 列。
小明要将这些花运送到客户那,然而由于花太多,需要分两辆车才能装下。
小明怕自己弄错花的顺序,因此在分车的时候,他准备将前面一些列(注意不是行)的花放在第一辆车上,将其实的花放在第二辆车上。
已知每盆花的重量,要使第一辆车和第二辆车尽可能总重量一致,请帮助小明分装这些花,请告诉小明两辆车的重量最小差多少。
输入格式
输入的第一行包含两个整数 n, m,分别表示行数和列数。
接下来 n 行,每行 m 个正整数,分别表示每盆花的重量。
输出格式
输出一个整数,表示总重量最接近时两车的重量之差(的绝对值)。
样例输入
3 4
1 2 3 9
5 6 7 8
2 3 4 9
样例输出
7
样例说明
将前 3 列放一辆车,后 1 列放一辆车,第一辆比第二辆重 7 。
评测用例规模与约定
对于 30% 的评测用例,2 <= n, m <= 20。
对于 70% 的评测用例,2 <= n, m <= 100。
对于所有评测用例,2 <= n, m <= 1000,每盆花的重量不超过 1000。
答案:
#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int f(int *arr,int a,int lenth){
int sum1 = 0;
int sum2 = 0;
for(int i = 0; i < a; i++){
sum1 += arr[i];
}
for(int j = lenth-a+1; j < lenth; j++){
sum2 += arr[j];
}
if(sum1 >= sum2)
return (sum1-sum2);
else
return (sum2-sum1);
}
int main()
{
int n,m;
cin >> n >> m;
int sum[m];
int a[n][m];
int arr[n];
int t;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++)
cin >> a[i][j];
}
for(int i = 0; i < m; i++){
sum[i]=0;
for(int j = 0; j < n; j++)
sum[i] += a[j][i];
}
for(int i = 0; i < m; i++){
arr[i] = f(sum,i,m);
}
for(int i = 0; i < m; i++){
for(int j = 0; j < m; j++){
t = min(arr[i],arr[j]);
}
}
cout << t;
return 0;
}
9.问题描述
小明每天都要练功,练功中的重要一项是梅花桩。
小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1。
小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上。小明已经练了一段时间,他现在可以一步移动不超过 d 的距离(直线距离)。
小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。
输入格式
输入的第一行包含两个整数 n, m,分别表示梅花桩的行数和列数。
第二行包含一个实数 d(最多包含一位小数),表示小明一步可以移动的距离。
输出格式
输出一个整数,表示小明最少多少步可以到达目标。
样例输入
3 4
1.5
样例输出
3
评测用例规模与约定
对于 30% 的评测用例,2 <= n, m <= 20,1 <= d <= 20。
对于 60% 的评测用例,2 <= n, m <= 100,1 <= d <= 100。
对于所有评测用例,2 <= n, m <= 1000,1 <= d <= 100。
10.问题描述
小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗。
小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n 个。他们准备把自己带的树苗都植下去。
然而,他们遇到了一个困难:有的树苗比较大,而有的位置挨太近,导致两棵树植下去后会撞在一起。
他们将树看成一个圆,圆心在他们找的位置上。如果两棵树对应的圆相交,这两棵树就不适合同时植下(相切不受影响),称为两棵树冲突。
小明和朋友们决定先合计合计,只将其中的一部分树植下去,保证没有互相冲突的树。他们同时希望这些树所能覆盖的面积和(圆面积和)最大。
输入格式
输入的第一行包含一个整数 n ,表示人数,即准备植树的位置数。
接下来 n 行,每行三个整数 x, y, r,表示一棵树在空地上的横、纵坐标和半径。
输出格式
输出一行包含一个整数,表示在不冲突下可以植树的面积和。由于每棵树的面积都是圆周率的整数倍,请输出答案除以圆周率后的值(应当是一个整数)。
样例输入
6
1 1 2
1 4 2
1 7 2
4 1 2
4 4 2
4 7 2
样例输出
12
评测用例规模与约定
对于 30% 的评测用例,1 <= n <= 10;
对于 60% 的评测用例,1 <= n <= 20;
对于所有评测用例,1 <= n <= 30,0 <= x, y <= 1000,1 <= r <= 1000。
网友评论