试题编号: | 201312-1 |
试题名称: | 出现次数最多的数 (纯暴力) |
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
int b,a[10001];
cin>>n;
memset(a,0,sizeof(a));
int m=0;
for(int i=0;i<n;i++){
cin>>b;
a[b]++;
if(m<b){
m=b;
}
}
int max=0,flag;
for(int i=1;i<=m;i++){
if(max<a[i]){
max=a[i];
flag=i;
}
}
cout<<flag<<endl;
return 0;
}
试题编号: | 201312-2 |
试题名称: | ISBN号码(分情况,相等的,加X的,加对的) |
#include<bits/stdc++.h>
#include<cstring>
using namespace std;
int main(){
string str,str1;
cin>>str;
str1=str;
for(int i=0;i<str.length();i++){
if(str[i]=='-'){
str.erase(i,1);
}
}
int sum=0,cnt=1;
for(int i=0;i<str.length()-1;i++){
sum+=(str[i]-'0')*cnt;
cnt++;
}
sum=sum%11;
if(sum==(str[str.length()-1]-'0')){
cout<<"Right"<<endl;
}else if(sum==10){
if(str[str.length()-1]=='X'){
cout<<"Right"<<endl;
}else{
str1[str1.length()-1]='X';
cout<<str1<<endl;
}
}
else{
str1[str1.length()-1]=sum+'0';
cout<<str1<<endl;
}
return 0;
}
试题编号: | 201403-1 |
试题名称: | 相反数(两个for循环) |
#include<bits/stdc++.h>
#include<cstring>
using namespace std;
int main(){
int n,a[501];
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
int cnt=0;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(a[i]+a[j]==0){
cnt++;
}
}
}
cout<<cnt;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
struct s{
int x1,y1,x2,y2;
int id;
};
int main(){
int m,n;
cin>>n>>m;
s c[12];
for(int i=0;i<n;i++){
cin>>c[i].x1 >>c[i].y1 >>c[i].x2 >>c[i].y2 ;
c[i].id =i+1;//第几个窗口编号
}
int x,y;
s t;
int flag=0;
for(int i=0;i<m;i++){
cin>>x>>y;
flag=0;
for(int j=n-1;j>=0;j--){//从上到下
if(x<=c[j].x2 &&x>=c[j].x1&&y<=c[j].y2 &&y>=c[j].y1 ){
t=c[j];
for(int k=j+1;k<n;k++){
c[k-1]=c[k];
}
c[n-1]=t;//把当前点击的置于顶层
cout<<t.id<<endl;
flag=1;
break;
}
}
if(!flag)
cout<<"IGNORED"<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,n,a[1001];
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
int cnt=0;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(abs(a[i]-a[j])==1){
cnt++;
}
}
}
cout<<cnt<<endl;
return 0;
}
试题编号: | 201409-2 |
试题名称: | 画图(相邻for循环,用<号) |
#include<bits/stdc++.h>
using namespace std;
bool flag[101][101];
int main(){
int n,x1,x2,y1,y2,sum=0;
cin>>n;
memset(flag,false,sizeof(flag));
for(int i=0;i<n;i++){
cin>>x1>>y1>>x2>>y2;
sum+=(x2-x1)*(y2-y1);
for(int j=x1;j<x2;j++){
for(int k=y1;k<y2;k++){
if(flag[j][k]){
sum--;
}
flag[j][k]=true;
}
}
}
cout<<sum<<endl;
return 0;
}
试题编号: | 201412-1 |
试题名称: | 门禁系统(创新人才 考过) |
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[1001],b;
cin>>n;
memset(a,0,sizeof(a));
for(int i=0;i<n;i++){
cin>>b;
a[b]++;
cout<<a[b]<<" ";
}
return 0;
}
试题编号: | 201412-2 |
试题名称: | Z字形扫描(记住规律) |
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[501][501];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
int x=1,y=1;
for(int i=0;i<n;i++){
if(i%2==0){
for(int j=0;j<i;j++){// /↑
cout<<a[x--][y++]<<" ";
}
cout<<a[x][y++]<<" ";
}
else{
for(int j=0;j<i;j++){// /↓
cout<<a[x++][y--]<<" ";
}
cout<<a[x++][y]<<" ";
}
}
if(n%2==0){
x--;
y++;
}
else{
x++;
y--;
}
for(int i=n-2;i>0;i--){
if(i%2==0){
for(int j=0;j<i;j++){// /↑
cout<<a[x--][y++]<<" ";
}
cout<<a[x++][y]<<" ";
}
else{
for(int j=0;j<i;j++){// /↓
cout<<a[x++][y--]<<" ";
}
cout<<a[x][y++]<<" ";
}
}
if(n!=1){
cout<<a[n][n]<<endl;
}
return 0;
}
试题编号: | 201503-1 |
试题名称: | 图像旋转(a数组一定设置成全局变量) |
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1001][1001];
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=m-1;i>=0;i--){
for(int j=0;j<n;j++){
cout<<a[j][i]<<" ";
}
cout<<endl;
}
return 0;
}
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
int main(){
int n,t,a[1005];
cin>>n;
memset(a,0,sizeof(a));
int maxnum=-1,m=0;
for(int i=0;i<n;i++){
cin>>t;
a[t]++;
m=max(m,t);//输入数中的最大值
}
maxnum=0;
while(n){//用while
maxnum=0;
for(int j=1;j<m+1;j++){
if(a[j]>maxnum){//找出最大次数
maxnum=a[j];
t=j;
}
}
n=n-maxnum;
cout<<t<<" "<<maxnum<<endl;
a[t]=0;
}
return 0;
}
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
int main(){
int n,a[1001],cnt=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
if(a[i-1]!=a[i]) cnt++;
}
cout<<cnt<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
int year,day;
cin>>year>>day;
if(year%4==0&&year%100!=0||year%400==0){
month[1]=29;
}
int i=0,t=0;
while(day>=month[i]){
day=day-month[i];
if(day==0) t=i;
else{
i++;
t=i;
}
}
cout<<t+1<<endl;
if(day>0)
cout<<day<<endl;
else
cout<<month[t]<<endl;
return 0;
}