整理0102 201912-201512

/*201912-1 报数*/

数据:

//不要漏了a/100==7 
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    int a,b,c,d;
    a=0,b=0,c=0,d=0;
    long long aa=0,bb=0,cc=0,dd=0;
    cin>>n;
    for(long long a=1;a<=n;a++){
        if(a%7==0||a%10==7||a/10%10==7||a/100==7){
            if(a%4==1)aa++;
            else if(a%4==2) bb++;
            else if(a%4==3) cc++;
            else dd++;
            n++;
        }
    }
    cout<<aa<<endl;
    cout<<bb<<endl;
    cout<<cc<<endl;
    cout<<dd<<endl;
    return 0;
}

/*201912-2 回收站选址*/

7
1 2
2 1
0 0
1 1
1 0
2 0
0 1         

输出0
0
1
0
0

 

 用结构体记录坐标!

用结构体
#include<bits/stdc++.h>
using namespace std;
struct node{
	int x;
	int y;
}t[1005];
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>t[i].x >>t[i].y ;
	} 
	int flag[1005]={0};
	int a,b,c;
	for(int i=0;i<n;i++){
		a=t[i].x ;
		b=t[i].y ;
		c=0;
		for(int j=0;j<n;j++){
			if(a==t[j].x ){//注意是j,不是i 
				if(t[j].y ==b+1){
					c++;
				}
				if(t[j].y ==b-1){
					c++;
				}
			}
			if(b==t[j].y ){
				if(t[j].x ==a-1){
					c++;
				}
				if(t[j].x ==a+1){
					c++;
				}
			}		
		}
		if(c==4){
			flag[i]=1;
		}else{
			flag[i]=0;
		}
	}
	int dust[5];
	for(int i=0;i<5;i++){
		dust[i]=0;
	}
	int d;
	for(int i=0;i<n;i++){
		d=0;
		if(flag[i]==1){
			a=t[i].x ,b=t[i].y ;
			for(int j=0;j<n;j++){
				if(a-1==t[j].x&&b-1==t[j].y ) d++;
				if(a-1==t[j].x &&b+1==t[j].y ) d++;
				if(a+1==t[j].x&&b-1==t[j].y ) d++;
				if(a+1==t[j].x&&b+1==t[j].y ) d++;
			}
			dust[d]++;
		}
	}
	for(int i=0;i<5;i++){
		cout<<dust[i]<<endl;
	}
	return 0;
}

/*201909-1小明种苹果*/

统计果实,疏果个数,输出剩余、最多的果疏次序、疏果数 

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	int sum=0,max=0,t=0,s,flag,p=0;
	for(int i=0;i<n;i++){
		cin>>s;
		sum=0;
		for(int j=0;j<m;j++){
			cin>>t;
			sum+=abs(t);
			
		}
		if(sum>max){
				max=sum;
				flag=i;
			}
		p+=(s-sum);	
	} 
	cout<<p<<" "<<flag+1<<" "<<max<<endl;
	return 0;
}

201909-2小明种苹果(续)

/*
4
4 74 -7 -12 -5
5 73 -8 -6 59 -4
5 76 -5 -10 60 -2
5 80 -6 -15 59 0

5
4 10 0 9 0
4 10 -2 7 0
2 10 0
4 10 -3 5 0
4 10 -1 8 0
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,D=0;
	long long t,s,sum=0;
	cin>>n;
	int flag[1005];
	memset(flag,0,sizeof(flag));
	for(int k=0;k<n;k++){
		cin>>m;
			cin>>s;//果数 
			for(int j=1;j<m;j++){
				cin>>t;//操作 
				if(t<=0){
					s=s+t;
				} 
				else if(s!=t){
					
						flag[k]=1;
						s=t;
	//注意:不可以用D++;因为一棵树可以有多次掉落
				}
			}
			sum+=s;//统计个数 
	}
	int E=0;
	for(int i=0;i<n;i++){
	    D+=flag[i];
		if(flag[i]&&flag[(i+1)%n]&&flag[(i-1+n)%n]){//注意这里
			E++;
		}
	}
	cout<<sum<<" "<<D<<" "<<E<<endl;
	return 0;
}

201903-1 小中大

/*
4
-2 -1 3 4

3
-1 2 4
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	int a[100005];
	cin>>n;
	double m;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	sort(a,a+n);
	if(n%2==0){
		m=(a[(n-1)/2]+a[n/2])/2.0;
	}
	else{
		m=a[(n-1)/2];
	}
//	cout<<m<<endl;
	if((int)(m*10)==(int)m*10)//(a[(n-1)/2]+a[n/2])%2==0
	printf("%d %.0f %d\n",a[n-1],m,a[0]);
	else
	printf("%d %.1f %d\n",a[n-1],m,a[0]);
	
	return 0;
}

201903-2 二十四点

#include<bits/stdc++.h>
#include<stack>
using namespace std;
#define SIZE 85000
int main(){
	int n;
	cin>>n;
	stack<int>shu;
	string str;
	for(int i=0;i<n;i++){
		cin>>str;
		for(int j=0;j<str.length();j++){
			if(str[j]>='0'&&str[j]<='9'){
				shu.push(str[j]-'0');
			}
			else if(str[j]=='+'){
				shu.push(str[j+1]-'0');
				j++;
			}
			else if(str[j]=='-'){
				shu.push((str[j+1]-'0')*(-1));
				j++;
			}
			else if(str[j]=='x'){
				int p,q;
				p=shu.top();
				shu.pop();
				q=str[j+1]-'0';
				int t=p*q;
				shu.push(t);
				j++;
			}
			else if(str[j]=='/'){
				int p,q;
				p=shu.top();
				shu.pop();
				q=str[j+1]-'0';
				
				int t=(p)/(q);
				shu.push(t);
				j++;
			}	
		}int k,sum=0;
		while(!shu.empty()){
			
			k=shu.top();
			shu.pop();
			sum+=k;
		}
		if(sum==24) printf("Yes\n");
		else printf("No\n");
	}
	
	return 0;
}

 201812-1 小明上学

#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<vector>
#define ll long long
using namespace std;
int main()
{
    int n;
    int r,y,g;
    cin>>r>>y>>g;
    cin>>n;
    int s,t,sum=0;
    while(n--){
    	cin>>s>>t;
		if(s!=3)
		sum+=t;
    	if(s==2)
    	sum+=r;	
	}
	cout<<sum<<endl;
   	return 0;
}

201812-2 小明放学 

此题注意是 long long 

#include<iostream>
 
using namespace std;
 
typedef long long ll;
 
ll r,y,g;
 
//初始状态为k,时间为t,经过time时间后,还需多长时间才能通过,返回需要的时间 
ll add(ll k,ll t,ll time)
{
	if(k==0) return t;//k=0,直接返回时间t 
	//求出t时间在红绿黄时间轴上的时间 
	if(k==1) 
	  t=r-t;
	else if(k==2)
	  t=r+g+y-t;
	else if(k==3)
	  t=r+g-t;
	//求出t+time时间在红绿黄时间轴上的时间,由于是循环,因此 %(r+g+y) 	  
	t=(t+time)%(r+g+y);
	if(0<=t&&t<r)//经过time时间后红灯,且过了t秒,还需等待r-t秒就能通行 
	  return r-t;
	else if(r<=t&&t<r+g)//经过time时间后绿灯,不用等待直接通行 
	  return 0;
	else if(r+g<=t&&t<r+g+y)经过time时间后黄,且过了t秒,还需等待r+g+y-t+r秒就能通行  
	  return (r+g+y-t+r);
}
 
int main()
{
	ll n,ans=0,k,t;
	scanf("%lld%lld%lld%lld",&r,&y,&g,&n);
	while(n--)
	{
		scanf("%lld%lld",&k,&t);
		ans+=add(k,t,ans);
	}
	printf("%lld\n",ans);
	return 0;
}

 

试题编号:201809-1
试题名称:卖菜

 

#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<vector>
#define ll long long
using namespace std;
int main()
{
    int n;
    int r,y,g;
    cin>>n;
    int a[1001],b[1001];
    for(int i=0;i<n;i++){
		cin>>a[i];
	}
    for(int i=0;i<n;i++){
    	if(i==0){
    		b[0]=(a[0]+a[1])/2;
		}
		else if(i==n-1){
			b[n-1]=(a[n-2]+a[n-1])/2;
		}else{
			b[i]=(a[i-1]+a[i+1]+a[i])/3;
		}
	}
	for(int i=0;i<n-1;i++){
		cout<<b[i]<<" ";
	}
	cout<<b[n-1]<<endl;
   	return 0;
}

 

试题编号:201809-2
试题名称:买菜

 把条件写全

#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<vector>
#define ll long long
using namespace std;
struct node{
	int x;
	int y;
}; 
bool cmp(node a,node b){
	if(a.x !=b.x )
	return a.x <b.x ;
	else if(a.x ==b.x ){
		a.y <b.y ;
	} 
} 
node a[2002],b[2002];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
    	cin>>a[i].x >>a[i].y ;
	}
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++){
    	cin>>b[i].x >>b[i].y ;
	}
	sort(b,b+n,cmp);
	int cnt=0;
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			if(a[i].y >b[j].x&&a[i].x <b[j].y &&a[i].y <b[j].y &&a[i].x <b[j].x ){//||a[i].x <b[j].y ){
    			cnt+=a[i].y -b[j].x;
    		
			}else if(a[i].x >=b[j].x &&a[i].y <=b[j].y ){
				cnt+=a[i].y-a[i].x ;
				
			}else if(b[j].x >=a[i].x &&b[j].y <=a[i].y){
				cnt+=b[j].y -b[j].x ;
				
			}else if(b[j].y >a[i].x&&b[j].x <a[i].y&&b[j].y <a[i].y&&b[j].x <a[i].x  ){
				cnt+=b[j].y -a[i].x ;
					
			}
		
		}
		//cout<<cnt<<endl;

	}
	cout<<cnt<<endl;
   	return 0;
}
试题编号:201803-1
试题名称:跳一跳
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[31],sum=0,k=0,flag=1;
	while(~scanf("%d",&a[k])){
		if(a[k]==0) break;
		k++;
	}
	for(int i=0;i<k;i++){
			if(i==0&&a[i]==1) {
				flag=1;
				sum+=1;
			}
			else if(i==0&&a[i]==2) {
				flag=1;
				sum+=2;
			}
			else if(a[i-1]==1&&a[i]==1){
				flag=1;
				sum+=1;
			}else if(a[i-1]==1&&a[i]==2){
				flag=1;
				sum+=2;
			}else if(a[i-1]==2&&a[i]==2){
				flag++;
				sum+=2*flag;
			} else if(a[i-1]==2&&a[i]==1){
				sum+=1;
			}
		//	cout<<sum<<endl;
	}
	
	cout<<sum<<endl;
	return 0;
} 
试题编号:201803-2
试题名称:碰撞的小球
#include<bits/stdc++.h>
using namespace std;
struct node{
	int x;
	int flag;
}p[1001];
int main(){
	int n,m,t;
	cin>>n>>m>>t;
	for(int i=0;i<n;i++){
		cin>>p[i].x;
		p[i].flag =1;
	}
	for(int i=0;i<t;i++){
		for(int j=0;j<n;j++){
			 if(p[j].x ==0||p[j].x ==m){
				p[j].flag =-1;		
			}
			p[j].x+=p[j].flag ;
		}
		for(int j=0;j<n;j++){
			for(int k=0;k<n&&k!=j;k++){
				if(p[j].x ==p[k].x ){
					p[j].flag =-p[j].flag;
					p[k].flag=-p[k].flag;
				}
			}
			
		}	
	}
	for(int i=0;i<n;i++){
		cout<<p[i].x <<" ";
	}
	return 0;
} 

 

试题编号:201712-1
试题名称:最小差值(太水)
#include<bits/stdc++.h>
using namespace std;

int main(){
	int n,max=9999999,flag;
	cin>>n;
	int a[1001];
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	sort(a,a+n);
	for(int i=0;i<n-1;i++){
			if((abs)(a[i]-a[i+1])<max){
				max=(abs)(a[i]-a[i+1]);
			}
		
	}
	cout<<max<<endl;
	return 0;
} 

 

试题编号:201712-2
试题名称:游戏

 考虑k=1的情况

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,k,max=9999999,flag,t=0;
	cin>>n>>k;
	int a[1001];
	for(int i=0;i<n;i++){
		a[i]=i+1;
	}
	if(k==1){
		cout<<n<<endl;
		return 0;
	}
	int i,cnt=0;
	flag=n;
	while(cnt<n-1){
		
		for( i=0;i<n;i++){
			if(a[i]%k==0||a[i]%10==k){
				a[i]=-1;
				cnt++;
			}
		}
		if(cnt==n-1){
			break;
		}
		if(i==n){
			for(int j=0;j<n;j++){
				if(a[j]!=-1)
				a[j]=flag+1+(t++);
			}
		}
		
	}
	for(int i=0;i<n;i++){
		//cout<<a[i]<<endl;
		if(a[i]!=-1){
			cout<<i+1<<endl;
		}
	}
	
	return 0;
} 
试题编号:201709-1
试题名称:打酱油
#include<iostream>
using namespace std;
 
int main()
{
	int n;
	cin >> n;
	cout << n / 10 + n / 50 * 2 + n % 50 / 30;
	return 0;
}

 

试题编号:201709-2
试题名称:公共钥匙盒
#include<bits/stdc++.h>
using namespace std;

struct node{
	int end;
	int id;
	int flag;
};
bool cmp(node a,node b){
	if(a.end !=b.end )
	return a.end <b.end ;
	else{
		if(a.flag !=b.flag )
		return a.flag <b.flag ;
		else
		return a.id <b.id ;
	}
}
node key[2001];//!!!!!!!!!!!
int main(){
int n,m,a,b,c;
int t[1001];

	cin>>n>>m; 
	for(int i=1;i<=n;i++){
		t[i] =i;
	}	
	for(int j=0;j<m;j++){
		cin>>a>>b>>c;
		key[2*j].id =a;
		key[2*j].end =b;
		key[2*j].flag =1;//借 
		key[2*j+1].id =a;
		key[2*j+1].end =b+c;
		key[2*j+1].flag =-1;//还 
		
	}
	sort(key,key+2*m,cmp);
	for(int i=0;i<2*m;i++){
		if(key[i].flag ==1){
			for(int j=1;j<=n;j++){
				if(key[i].id ==t[j]){
					t[j]=0;
				}
			}
		}
		else{
			for(int j=1;j<=n;j++){
				if(t[j]==0){
					t[j]=key[i].id ;
					break;
				}
			}
		}
		
	}
	for(int i=1;i<=n;i++){
		if(i!=1)
		cout<<" "<<t[i];
		else
		cout<<t[i];
	}
	cout<<endl;
	return 0;
} 

 

试题编号:201703-1
试题名称:分蛋糕
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
	int n,k;
	int a[1001];
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	int sum=0,cnt=0;
	for(int i=0;i<n;i++){
		sum+=a[i];	
		if(sum>=k){
			cnt++;
			sum=0;
		}
		else if(i==n-1&&sum<=k){
			cnt++;
		}
	}
	cout<<cnt<<endl;
	return 0;
}

 

试题编号:201703-2
试题名称:学生排队(分情况m正负)
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
	int n,p,m,t,a[1001],flag;
	cin>>n;
	cin>>t;
	for(int i=1;i<=n;i++) a[i]=i;
	for(int i=0;i<t;i++){
		cin>>p>>m;
		if(m>0){
			for(int k=1;k<=n;k++) {
				if(p==a[k])
				 {
				 	p=k;
				 	break;
				 }
			}
			flag=a[p];
			for(int j=p;j<p+m;j++){
				a[j]=a[j+1];
			}
			a[p+m]=flag;
		}
		else if(m<0){
			//cout<<"p="<<p<<",m="<<m<<endl;
			for(int k=1;k<=n;k++) {
				if(p==a[k])
				 {
				 p=k;
				 break;	
				 }
			}
		//	cout<<p<<endl;
			flag=a[p];
			for(int j=p;j>p+m;j--){
				a[j]=a[j-1];
			}
			a[p+m]=flag;
		}
	
	}
	for(int i=1;i<=n-1;i++) {
		cout<<a[i]<<" "	;
	}
	cout<<a[n]<<endl;
	return 0;
}

 

#include<stdio.h>
#include<vector>
using namespace std;
vector<int> stu;
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        stu.push_back(i);
    }
    int no,pos;
    vector<int>::iterator it;
    while(m--){
        scanf("%d%d",&no,&pos);
        for(it=stu.begin();it!=stu.end();it++){
            if(*it==no){
                it=stu.erase(it);
                stu.insert(it+pos,no);
                break;
            }
        }
    }
    for(it=stu.begin();it!=stu.end();it++){
        printf("%d ",*it);
    }
    return 0;
}
试题编号:201612-1
试题名称:中间数
#include<bits/stdc++.h>
using namespace std;
vector<string> v;
int main(){
	int n,a[1001];
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
		
	}
	sort(a,a+n);
	int l=0,r=0;
	
		for(int i=0;i<n/2;i++){
			if(a[i]<a[n/2]) l++;
		}
		for(int i=n/2+1;i<n;i++){
			if(a[i]>a[n/2]) r++;
		}

	if(l==r) cout<<a[n/2]<<endl;
	else cout<<"-1"<<endl;
	return 0;
}

 

试题编号:201612-2
试题名称:工资计算
#include<stdio.h>
#define MAXN 200000
int main(){
    int T;
    scanf("%d",&T);
    if(T<=3500) printf("%d\n",T);
    else for(int S=3600;S<=MAXN;S+=100){
        int A=S-3500;
        int tax=0;
        if(A>1500) tax+=1500*0.03;
        else {tax+=A*0.03;goto end;}
        if(A>4500) tax+=3000*0.10;
        else {tax+=(A-1500)*0.10;goto end;}
        if(A>9000) tax+=4500*0.20;
        else {tax+=(A-4500)*0.20;goto end;}
        if(A>35000) tax+=26000*0.25;
        else {tax+=(A-9000)*0.25;goto end;}
        if(A>55000) tax+=20000*0.30;
        else {tax+=(A-35000)*0.30;goto end;}
        if(A>80000) tax+=25000*0.35;
        else {tax+=(A-55000)*0.35;goto end;}
        tax+=(A-80000)*0.45;

        end:
            if(S-tax==T){
                printf("%d\n",S);
                break;
            }
    }
    return 0;
}
试题编号:201609-1
试题名称:最大波动

 水题

#include<bits/stdc++.h>
using namespace std;
#define MAXN 200000
int main(){
    int n,a[1001];
    cin>>n;
    for(int i=0;i<n;i++){
    	cin>>a[i];
	}
	int max=0;
	for(int i=1;i<n;i++){
		if(abs(a[i]-a[i-1])>max){
			max=abs(a[i]-a[i-1]);
		}
	}
	cout<<max<<endl;
    return 0;
}
试题编号:201609-2
试题名称:火车购票

 仔细想想 开辟数组空间a[21][7]

#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
using namespace std;
 
int main(){
	int n,t,a[21][7];
	memset(a,0,sizeof(a));
	for(int i=0;i<20;i++) a[i][5]=5; 
	scanf("%d",&n);
	while(n--){
		scanf("%d",&t);
		int flag=0;
		for(int i=0;i<20;i++){
			if(a[i][5]>=t){
				a[i][5]-=t;
				for(int j=0;j<5;j++){
					if(!a[i][j]){
						a[i][j]=1;
						t--;
						if(t) printf("%d ",i*5+j+1);
						else{
							if(n) printf("%d\n",i*5+j+1);
							else printf("%d",i*5+j+1);
							flag=1;
							break;
						}
					}
				}
			}
			if(flag) break;
		}
		if(!flag){//无连续的座位
			for(int i=0;i<20;i++){
				for(int j=0;j<5;j++){
					if(!a[i][j]){
						a[i][j]=1;
						t--;
						a[i][5]--;
						if(t) printf("%d ",i*5+j+1);
						else{
							if(n) printf("%d\n",i*5+j+1);
							else printf("%d",i*5+j+1);
							flag=1;
							break;
						}
					} 
				}
				if(flag) break;
			}
		}
	}	
	return 0;
}
/*从前向后遍历数组的每一行,如果该行的空余数量大于等于t,遍历该行,输出连续座位,break
否则,从第一行空位开始往下数t个,输出并标记*/
试题编号:201604-1
试题名称:折点计数(不用复习)
#include<bits/stdc++.h>
using namespace std;

int main(){
	int n,a[1001],cnt=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(int i=1;i<n-1;i++){
		if(a[i-1]>a[i]&&a[i]<a[i+1]){
			cnt++;
		}else if(a[i-1]<a[i]&&a[i]>a[i+1]){
			cnt++;
		}
	
	}
	cout<<cnt<<endl;
	return 0;
}
试题编号:201604-2
试题名称:俄罗斯方块

 固定行,固定列

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[15][10];
	int t[4][4],n;
	for(int i=0;i<15;i++){
		for(int j=0;j<10;j++){
			cin>>a[i][j];
		}
	}
	int flag=0,flag1=0;
	for(int i=0;i<4;i++){
		for(int j=0;j<4;j++){
			cin>>t[i][j];
		}
	}

	cin>>n;
		for(int i=0;i<4;i++){
			if(t[i][0]!=0) flag=1;
		}
	
	int i,j,p=4;
	for( i=0;i<4;i++){
		flag1=0;
		for(j=0;j<4;j++){
			if(t[3-i][j]!=0){
				flag1=1;
				break;
			}
		}
		if(flag1==0){
			p--;
		}else if(flag1==1){
			break;
		}
	}

	int x,y,k;
	x=0;y=0;
	if(flag==1){
		
		for(k=11+4-p;k<15;k++){
			for( j=n-1;j<n-1+4;j++){
				if(a[k][j]==0)
				a[k][j]=t[x][y];
				else a[k][j]=1;
				y++;
			}
			x++;
		}	
	} else{
	
		for( k=11+4-p;k<15;k++){
			y=1;
			for(int j=n;j<n-1+4;j++){
				if(a[k][j]==0)
				a[k][j]=t[x][y];
				else a[k][j]=1;
				y++;
			}
			x++;
		}
	}
	for(int i=0;i<15;i++){
		for(int j=0;j<10;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	cout<<endl;
	return 0;
} 
试题编号:201512-2
试题名称:消除类游戏

 两个数组

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,a[31][31],b[31][31];
	cin>>n>>m;
	memset(b,0,sizeof(b));
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<n-1;i++){
		for(int j=0;j<m;j++){
			if(a[i][j]==a[i+1][j]&&a[i][j]==a[i-1][j]){
				b[i][j]=b[i-1][j]=b[i+1][j]=1;
			}
		}
	}
	for(int i=1;i<m-1;i++){
		for(int j=0;j<n;j++){
			if(a[j][i-1]==a[j][i]&&a[j][i]==a[j][i+1]){
				b[j][i-1]=b[j][i]=b[j][i+1]=1;
			}
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			if(b[i][j]){
				a[i][j]=0;
			}
		}
	}
	
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
} 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值