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

📄 shizi.cpp

📁 包括GRAY码
💻 CPP
字号:
#include <iostream.h>
#include <iomanip.h>
#define n 5  //石头的堆数

  
int v[n+1]={0,5,8,6,4,10};  //每堆石头的个数;
int m[n+1][n+1][2]; //m[i][j][0]存取最小得分,m[i][j][1]存取最大得分;

void main()
{
    
	for(int i=0;i<=n;i++)
	{	m[0][i][0]=0;
	    m[0][i][1]=0;
		m[1][i][0]=v[i];
		m[1][i][1]=v[i];
	}
	for( i=2; i<=n; i++)
		for(int j=1; j<=n; j++)
		{
			int temp = 0;
			int r=j;
			for(int k=1;k<=i;k++)
			{
			r=(r-1)%n+1;
			temp+=v[r];
			r++;
			}
			m[i][j][0] = m[i-1][j][0]+temp;
			m[i][j][1] = m[i-1][j][1]+temp;
			int t1=m[i-1][j+1][0]+temp;
			int t2=m[i-1][j+1][1]+temp;
			if(t1<m[i][j][0]) m[i][j][0]=t1;
			if(t2>m[i][j][1]) m[i][j][1]=t2;

		}

		/*for(int a=1;a<=n;a++)
			cout<<setw(3)<<v[a];
		    cout<<endl;*/
		for( i=1;i<=n;i++)
		{    for(int j=1;j<=n;j++)
				cout<<setw(3)<<m[i][j][1];
			    cout<<endl;
		}

			for(i=1;i<=n;i++)
		{    for(int j=1;j<=n;j++)
				cout<<setw(3)<<m[i][j][0];
			    cout<<endl;
		}

//	int tempmin = m[1][n][0];
//	int tempmax = m[1][n][1];
/*	for(int i=2; i<=n; i++)
		if(tempmin > m[i][i+n-1][0]) tempmin = m[i][i+n-1][0];
	for(int j=2; j<=n; j++)
		if(tempmax < m[j][j+n-1][1]) tempmax = m[j][j+n-1][1];

	cout << tempmin << endl;
	cout << tempmax<<endl;  */
}

⌨️ 快捷键说明

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