洛谷【入门4】数组-P2615 神奇的幻方

  1. 标签:模拟枚举,暴力NOIp提高组2015
  2. 知识点:数组应用案例
  3. 题目:

  4. AC代码:
    #include<iostream>
    using namespace std;
    int main(){
    	int n,a[39][39]={0},i,j,k;
    	cin>>n;
    	a[0][n/2]=1;
    	i=0;j=n/2;
    	for(k=2;k<=n*n;k++){
    		if(i==0&&j<n-1){a[n-1][++j]=k;i=n-1;}
    		else if(i>0&&j==n-1){a[--i][0]=k;j=0;}
    		else if(i==0&&j==n-1){a[++i][n-1]=k;}
    		else if(i>0&&j<n-1&&a[i-1][j+1]==0){a[--i][++j]=k;}
    		else if(i>0&&j<n-1&&a[i-1][j+1]!=0){a[++i][j]=k;}
    	}
    	for(i=0;i<n;i++){
    		for(j=0;j<n;j++)
    			cout<<a[i][j]<<" ";
    		cout<<endl;
    	}
    	return 0;
    }
    
  5. 注意的问题:模拟时要细心,行列序号写正确来;if判断里等于是“==”,基本就OK啦。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值