⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ni.cpp

📁 acm模式“中心”算法
💻 CPP
字号:
#include"stdio.h"
#include"math.h"
#include"iostream.h"
void main()
{
	int i,j,m,n;
	int x,tg;
	int min;
	int hen[100];
	int togther=0,tog=0,center=0;
	int s[10][20]={
	{24,42,79,90,54,33,48,35,65,60,75,30,9,60,33,25,75,52,15,73},
	{40,26,71,50,62,83,84,32,13,58,21,80,20,55,49,44,68,54,21,4},
	{2,82,57,97,59,47,81,7,5,85,80,12,63,69,12,10,49,78,73,82},
	{72,22,84,55,36,74,82,68,74,57,15,63,94,85,70,51,8,55,93,28},
	{0,40,78,36,99,25,27,87,65,1,19,20,81,92,31,31,63,86,2,9},
	{7,4,38,78,48,5,88,8,78,42,48,8,33,92,84,100,10,34,1,45},
	{3,51,13,35,76,76,2,6,34,6,63,79,82,62,3,55,81,58,67,60},
	{64,16,78,56,50,43,32,22,76,35,27,1,49,6,27,31,60,34,55,29},
	{32,73,52,52,95,96,30,39,3,33,46,73,31,39,77,70,25,21,73,85},
	{99,73,5,37,89,20,18,25,9,70,67,39,81,55,90,70,23,76,50,14}
	};
	scanf("%d %d",&m,&n);
	//printf("%d,%d",m,n);
	/*for(i=0;i<m;i++) //输入矩阵
	{
		for(j=0;j<n;j++)
			scanf("%d",&s[i][j]);
	}*/
	/*for(i=0;i<m;i++)//打印矩阵
	{
		for(j=0;j<n;j++)
			printf("%d",s[i][j]);
	}*/
	//printf("\n");

	for(x=0;x<m;x++)//计算并查找横向最小值
	{	
		togther=0;//横向X行以上行的和
		for(i=0;i<x;i++)
		{	
			for(j=0;j<n;j++)
				togther=togther+s[i][j];
		}
		tog=0;//X以下行的和
		for(i=x+1;i<m;i++)
		{
			for(j=0;j<n;j++)
				tog=tog+s[i][j];
		}
		if(x==0){//当中心在第一行时的算法
			togther=0;
			tg=tog;
			min=fabs(tg);
			hen[x+1]=min;
		}
		else if(x==m-1) //当中心在最后一行时的算法
		{
			tog=0;
			tg=togther;
			min=fabs(tg);//求绝对值函数
			hen[x+1]=min;
		}
		else//中心不在第一和最后一行时的算法
		{
			tg=tog-togther;
			min=fabs(tg);
			hen[x+1]=min;
		}
	}
	min=hen[1];//比较最小绝对值
	for(i=1;i<=m;i++)
	{
		if (min>hen[i])
		{
			min=hen[i];
			center=i;//行中心赋值给center
		}
	}
		cout<<"center=(";//输出行中心
		cout<<center<<",";


	for(x=0;x<n;x++)//计算纵向最小值
	{	
		togther=0;
		for(i=0;i<x;i++)
		{	
			for(j=0;j<m;j++)
				togther=togther+s[j][i];
		}
		tog=0;
		for(i=x+1;i<n;i++)
		{
			for(j=0;j<m;j++)
				tog=tog+s[j][i];
		}
		if(x==0){
			togther=0;
			tg=tog;
			min=fabs(tg);
			hen[x+1]=min;
		}
		else if(x==n-1) 
		{
			tog=0;
			tg=togther;
			min=fabs(tg);
			hen[x+1]=min;
		}
		else
		{
			tg=tog-togther;
			min=fabs(tg);
			hen[x+1]=min;
		}
	}
	min=hen[1];
	for(i=1;i<=n;i++)
	{
		if (min>hen[i])
		{
			min=hen[i];
			center=i;
		}
	}
		cout<<center<<")"<<endl;
}
		
	
		
	





	




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -