• 程序设计思维与实践 CSP-M3 补题 (3/4/数据班)


    程序设计思维与实践 CSP-M3 补题 (3/4/数据班)

    A - csp-m3-t1

    问题分析

    根据题目对“段”的定义,建立一个栈,对于每个输入的元素,栈空则入栈,段数加一,不空则与栈顶元素比较,相同则continue,不同弹出栈顶元素,段数加一。

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    { 
    	stack<int> s;
    	int n,t;
    	int ans=0;
    	cin>>n;
    	while(n--){
    		cin>>t;
    		if(s.empty()){
    			s.push(t);
    			ans++;
    		}
    		else{
    			if(t==s.top()){
    				continue;
    			}
    			else{
    				s.push(t);
    				ans++;
    			}
    		}
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    
    

    B - csp-m3-t2

    问题分析

    额外建立一个矩阵。储存消除后的棋盘。

    初始状态两个矩阵一样,遍历前矩阵a,如果存在可消除的,在矩阵b中,把有对应位置标记未0.最后扫描矩阵b,进行输出。

    #include<bits/stdc++.h>
    using namespace std;
    int a[105][105];
    int b[105][105];
    int main()
    {
       int n,m;
       int i,j;
       scanf("%d %d",&n,&m);
       for(i=0;i<n;i++)
       {
       	for(j=0;j<m;j++)
       	{
       		scanf("%d",&a[i][j]);
       		b[i][j]=a[i][j];
       	}
       }
       for(i=0;i<n;i++)
       {
       	for(j=0;j<m-2;j++)
       	{
       		if(a[i][j]==a[i][j+1] && a[i][j+1]==a[i][j+2])
       		{
       			b[i][j]=0;
       			b[i][j+1]=0;
       			b[i][j+2]=0;
       		}
       	}
       }
       for(i=0;i<m;i++)
       {
       	for(j=0;j<n-2;j++)
       	{
       		if(a[j][i]==a[j+1][i] && a[j+1][i]==a[j+2][i])
       		{
       			b[j][i]=0;
       			b[j+1][i]=0;
       			b[j+2][i]=0;
       		}
       	}
       }
       for(i=0;i<n;i++)  //输出 
       {
       	printf("%d",b[i][0]);
       	for(j=1;j<m;j++)
       	{
       		printf(" %d",b[i][j]);
       	}
       	printf("
    ");
       }
       return 0;
    }
    
    

    C - csp-m3-t4

    问题分析

    水平所限,这个题没有做出来。

  • 相关阅读:
    Win7 64位下ProxyCap代理Java
    kafka一个诡异错误
    linux下oracle修改、新建用户并授权
    es常用查询
    linux 下启动tomcat报错 Cannot find ./catalina.sh
    linux虚拟机添加端口访问
    Linux下启动Oracle服务和监听程序
    es基础
    mysql授权远程任意人登录
    添加POI导出excel通用工具类
  • 原文地址:https://www.cnblogs.com/master-cn/p/12912738.html
Copyright © 2020-2023  润新知