整理0102 201312-201509

试题编号: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;
} 
试题编号:201403-2
试题名称:窗口
#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;
}
试题编号:201409-1
试题名称:相邻数对
#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;
}
试题编号:201503-2
试题名称:数字排序
#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;
}
试题编号:201509-1
试题名称:数列分段
#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;
}
试题编号:201509-2
试题名称:日期计算
#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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值