数据范围
类型 |
字节 |
表示范围 |
signed char |
1 |
-128~+127 |
unsigned char |
1 |
0~+255 |
short int |
2 |
-32768~+32767 |
(long) int |
4 |
-2147438648~+2141438647 |
long long long int |
8 |
-9223372036854775808~+9223372036854775807 |
附:试题案例
问题描述
输入A,B。
输出A+B。
输入格式
输入包含两个整数A,B,用一个空格分隔。
输出格式
输出一个整数,表示A+B的值。
样例输入
1 2
样例输出
3
数据规模和约定
-1,000,000,000<=A,B<=1,000,000,000。
解决此题的一个C++程序示例:
//example.cpp
#include
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
问题描述
试题编号: |
201503-1 |
试题名称: |
图像旋转 |
时间限制: |
5.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。 样例输入 2 3 样例输出 3 4 评测用例规模与约定 1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。 |
//201503-1.cpp
#include
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
int s[m+1][n+1],i,j;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cin>>s[i][j];
}
for(i=n;i>0;i--)
{
for(j=1;j<=m;j++)
cout<
问题描述
试题编号: |
201503-2 |
试题名称: |
数字排序 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。 输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。 样例输入 12 样例输出 3 4 评测用例规模与约定 1 ≤ n ≤ 1000,给出的数都是不超过1000的非负整数。 |
//201503-2.cpp
#include
using namespace std;
int main()
{
int n,t,i,j,max,s[1001],k[1001];
cin>>n;
for(i=1;i<1001;i++)
s[i]=0;
for(i=0;i>t;
s[t]++;
if(t>max)
max=t;
}
for(i=1;i<=max;i++)
{
k[i]=i;
}
for(i=1;is[k[i]])
{
t=k[j];
k[j]=k[i];
k[i]=t;
}
if(s[k[j]]==s[k[i]]&&k[j]
问题描述
试题编号: |
201503-3 |
试题名称: |
节日 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。 输入格式 输入包含恰好一行,有五个整数a, b, c, y1, y2。其中c=1, 2, ……, 6, 7分别表示星期一、二、……、六、日。 输出格式 对于y1和y2之间的每一个年份,包括y1和y2,按照年份从小到大的顺序输出一行。 样例输入 5 2 7 2014 2015 样例输出 2014/05/11 评测用例规模与约定 所有评测用例都满足:1 ≤ a ≤ 12,1 ≤ b ≤ 5,1 ≤ c ≤ 7,1850 ≤ y1, y2 ≤ 2050。 |
//201503-3.cpp
#include
#include //printf库
#include//max,min库
using namespace std;
intday[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}
,{0,31,29,31,30,31,30,31,31,30,31,30,31}};
/* 1 2 3 4 5 6 7 8 9 1011 12 */
bool isRunNian(int y)
{
if(y%400==0)return true;
if(y%4==0 && y%100!=0)return true;
return false;
}
int main()
{
int a,b,c,d,e,y1,y2,i,j,k;
cin>>a>>b>>c>>d>>e;
y1=min(d,e);
y2=max(d,e);
d=1;
for(i=1850;iday[isRunNian(i)][j])
cout<<"none"<
问题描述
试题编号: |
201412-1 |
试题名称: |
门禁系统 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 输出格式 输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。 样例输入 5 样例输出 1 1 2 3 1 评测用例规模与约定 1≤n≤1,000,读者的编号为不超过n的正整数。 |
//201412-1.cpp
#include
using namespace std;
int main()
{
int n,i,j;
cin>>n;
int s[n+1];
for(i=1;i<=n;i++)
{
cin>>s[i];
}
for(i=1;i<=n;i++)
{
s[0]=0;
for(j=i;j>0;j--)
if(s[j]==s[i])
s[0]++;
cout<
试题编号: |
201412-2 |
试题名称: |
Z字形扫描 |
时间限制: |
2.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行Z字形扫描后得到长度为16的序列: 1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3 请实现一个Z字形扫描的程序,给定一个n×n的矩阵,输出对这个矩阵进行Z字形扫描的结果。 输入格式 输入的第一行包含一个整数n,表示矩阵的大小。 输出格式 输出一行,包含n×n个整数,由空格分隔,表示输入的矩阵经过Z字形扫描后的结果。 样例输入 4 样例输出 1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3 评测用例规模与约定 1≤n≤500,矩阵元素为不超过1000的正整数。 |
//201412-2.cpp
#include
using namespace std;
int main()
{
int n,i,j,k;
cin>>n;
int s[n+1][n+1];
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cin>>s[i][j];
}
}
i=1;
j=1;
bool flg=true;
for(k=2;k<=2*n;k++)
{
if(flg)
{
while(i && j<=n)
{
cout<n)
{
j--;
i+=2;
}
else
{
i=1;
}
}
else
{
while(j && i<=n)
{
cout<n)
{
i--;
j+=2;
}
else
{
j=1;
}
}
}
return 0;
}
问题描述
试题编号: |
201409-1 |
试题名称: |
相邻数对 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。 样例输入 6 样例输出 3 样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。 评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数。 |
//201409-1.cpp
#include
using namespace std;
int main()
{
intn,i,j,temp;
cin>>n;
ints[n+1];
i=n;
while(i)
{
cin>>s[i];
i--;
}
for(i=1;i
问题描述
试题编号: |
201409-2 |
试题名称: |
画图 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 输入格式 输入的第一行包含一个整数n,表示要画的矩形的个数。 输出格式 输出一个整数,表示有多少个单位的面积被涂上颜色。 样例输入 2 样例输出 15 评测用例规模与约定 1<=n<=100,0<=横坐标、纵坐标<=100。 |
//201409-2.cpp
#include
#include
using namespace std;
int main()
{
intn,i,j,k,minX=100,maxX=0,minY=100,maxY=0;
cin>>n;
ints[4][n+1];
i=n;
while(i)
{
cin>>s[0][i]>>s[1][i]>>s[2][i]>>s[3][i];
minX=min(minX,s[0][i]);
minY=min(minY,s[1][i]);
maxX=max(maxX,s[2][i]);
maxY=max(maxY,s[3][i]);
i--;
}
//cout<s[0][k]&& i<=s[2][k] && j>s[1][k] && j<=s[3][k])
flg=true;
}
if(flg)
s[0][0]++;
}
}
cout<
问题描述
试题编号: |
201312-1 |
试题名称: |
出现次数最多的数 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。 样例输入 6 样例输出 10 |
//201312-1.cpp
#include
using namespace std;
int main()
{
intn,i,j,temp;
cin>>n;
ints[n+1],t[n];
i=n;
while(i)
{
cin>>s[i];
i--;
}
for(i=1;it[temp])
temp=i;
}
cout<
问题描述
试题编号: |
201312-2 |
试题名称: |
ISBN号码 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。 输入格式 输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。 输出格式 输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。 样例输入 0-670-82162-4 样例输出 Right 样例输入 0-670-82162-0 样例输出 0-670-82162-4 |
//201312-2.cpp
#include
using namespace std;
int main()
{
char s[14],k;
cin >> s;
k=(s[0]*1+s[2]*2+s[3]*3+s[4]*4+s[6]*5+s[7]*6+s[8]*7+s[9]*8+s[10]*9-2160)%11+48;
if(k==s[12] || (s[12]-k)==30 )
cout<<"Right";
else
{
if(k==58)
k=88;
s[12]=k;
cout<
问题描述
试题编号: |
201312-3 |
试题名称: |
最大的矩形 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。 输入格式 第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。 输出格式 输出一行,包含一个整数,即给定直方图内的最大矩形的面积。 样例输入 6 样例输出 10 |
//201312-3.cpp
#include
using namespace std;
int main()
{
intn,i,j,k,max=0,min;
cin>>n;
ints[n+1],t[n+1];
i=n;
while(i)
{
cin>>s[i];
i--;
}
max=0;
for(k=1;k<=n;k++)
{
for(i=1;i<=n+1-k;i++)
{
t[i]=0;
min=s[i];
for(j=1;j<=k;j++)
{
if(s[i-1+j]
问题描述
试题编号: |
201403-1 |
试题名称: |
相反数 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。 样例输入 5 样例输出 2 |
//201403-1.cpp
#include
using namespace std;
int main()
{
intn,i,j,count=0;
cin>>n;
ints[n+1];
i=n;
while(i)
{
cin>>s[i];
i--;
}
for(i=1;i