资源简介
实现多边形游戏算法,时间复杂度O(n^3),网上大多数此算法的代码有误,里面包含有测试样例。
代码片段和文件信息
#include
#define SIZE 100
using namespace std;
int m[SIZE][SIZE+1][2];
int v[SIZE] Deleteis;
char op[SIZE];
void MinMax(int n int i int s int j int &minf int &maxf)
{
int r;
int a b c d;
r = (i + s) % n;
//初始化子链的最大和最小值
a = m[i][s][0]; b = m[i][s][1];
c = m[r][j-s][0]; d = m[r][j-s][1];
if(op[(r-1)] == ‘+‘)
{
minf = a + c;
maxf = b + d;
}
else
{
int value[4];
value[0] = a * c; value[1] = b * d;
value[2] = a * d; value[3] = b * c;
minf = value[0]; maxf = value[0];
for(int k = 1; k < 4; k++)
{
if(value[k] < minf)
minf = value[k];
if(value[k] > maxf)
maxf = value[k];
}
}
}
int PolyMax(int n)
{
int minf maxf;
for(int j = 2;j <= n; j++)
{
for(int i = 0;i < n; i++)
for(int s = 1; s < j; s++)
{
MinMax(n i s j minf maxf);
if(m[i][j][0] > minf || m[i][j][0] == 0)
m[i][j][0] = minf;
if(m[i][j][1] < maxf)
m[i][j][1] = maxf;
}
}
int temp;
temp = m[0][n][1];
for(int p = 1; p < n; p++)
if(temp < m[p][n][1])
{
temp = m[p][n][1];
Deleteis = p;
}
return temp;
}
int main()
{
int MaxGrade i;
int n;
Label:
cout << “输入顶点数(大于2):“ << endl;
while(cin >> n n > 2)
{
cout << “输入定点和运算符:“ << endl;
for(i = 0; i < n; i++)
{
cin >> v[i] >> op[i];
m[i][1][0] = v[i];
m[i][1][1] = v[i];
}
MaxGrade = PolyMax(n);
cout << “第一次删除的边是 :\n“ << Deleteis << endl;
cout << “可获得的最高分为 :\n“ << MaxGrade << endl;
cout << “\n输入顶点数(大于2):“ << endl;
}
cout << “请重新输入!“ << endl;
goto Label;
system(“pause“);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 118 2013-03-18 21:01 PolyGame(测试).txt
文件 1982 2013-03-18 21:01 PolyGame.cpp
----------- --------- ---------- ----- ----
2100 2
- 上一篇:随机牛顿法
- 下一篇:华为海思和高通手机固件解包工具
相关资源
- SVR算法程序可运行
- 计算机图形学 边填充算法实现代码
- 福建师范大学历年算法考卷
- 栈的实现及应用,六种基本算法
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 改进的BP神经网络算法
- A星算法_原理讲解_例子
- 云模型的相关算法cloud
- 旋转矩阵求欧拉角的简单算法
- 栅栏填充算法源码(VC)
- RSA算法源码
- 关联分析Apriori算法实现
- [免费]relax算法成像
- 操作系统 LRU算法 实验报告 及 程序代
- 分治法快速排序算法QuickSort C
- 现代谱估计算法 music ESPRIT 谐波分解
- MUSIC算法c 实现
- 007出纳管理系统 v7[1].5.94 算法注册机
- 克鲁斯卡尔算法C和C 实现代码
- capon波束形成算法-VC实现
- QGA 量子遗传算法
- 利用OpenGL写毛笔字算法
- 带头结点的单链表的c算法实现
- 自适应隐写算法wow
- 协同过滤算法源码
- RSA AES DES ECC加密算法源码
- 密码学课程设计:DES加密解密算法的
- 北航人工智能原理课大作业源代码,
- A*算法的2D演示(带源码)
川公网安备 51152502000135号
评论
共有 条评论