博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
作业代码
阅读量:4328 次
发布时间:2019-06-06

本文共 3586 字,大约阅读时间需要 11 分钟。

作业代码

//3.3  path 路径#include 
#include
#include
#include
#include
using namespace std;struct node{ int v, a, b, c[2000];}p[50][50];int mmin(int a,int b){ if (a > b) return b; else return a;}int fac(int x){ return x*x; }int main(){ int T, o = 0; cin >> T; while (T--) { int n, m; cin >> n >> m; memset(p, 0, sizeof(p)); for (int i0 = 1;i0 <= n;i0++) for (int j = 1;j <= m;j++) cin >> p[i0][j].v; p[1][1].a = fac(p[1][1].v); p[1][1].b = p[1][1].v; p[1][1].c[p[1][1].v] = fac(p[1][1].v); for (int j = 2;j <= m;j++) { p[1][j].a = p[1][j - 1].a + fac(p[1][j].v); p[1][j].b = p[1][j - 1].b + p[1][j].v; p[1][j].c[p[1][j].b] = p[1][j].a; } for (int i1 = 2;i1 <= n;i1++) { p[i1][1].a = p[i1 - 1][1].a + fac(p[i1][1].v); p[i1][1].b = p[i1 - 1][1].b + p[i1][1].v; p[i1][1].c[p[i1][1].b] = p[i1][1].a; } for (int i = 2;i <= n;i++) for (int j = 2;j <= m;j++) for (int k = 0;k < 2000;k++) { if (p[i][j - 1].c[k]) { int f = k + p[i][j].v; if (p[i][j].c[f]) p[i][j].c[f] = mmin( p[i][j].c[f], p[i][j - 1].c[k] + fac(p[i][j].v) ); else p[i][j].c[f] = p[i][j - 1].c[k] + fac(p[i][j].v); } if (p[i - 1][j].c[k]) { int f = k + p[i][j].v; if (p[i][j].c[f]) p[i][j].c[f] = mmin(p[i][j].c[f], p[i - 1][j].c[k] + fac(p[i][j].v)); else p[i][j].c[f] = p[i - 1][j].c[k] + fac(p[i][j].v); } } int ans = 1000000000; for (int i2 = 0;i2 < 2000;i2++) if (p[n][m].c[i2]) ans = mmin(ans, (n + m - 1)*p[n][m].c[i2] - fac(i2)); printf("Case #%d: %d\n", ++o, ans); } return 0;}
//4.4 szjl 数字接力#include
#include
#include
using namespace std; char a[1005][32]; char p[1005][32]; int n = 0; //自己写一个字符串比较函数 int strcmp_vv(char s[], char t[]) { char r[200]; char r1[200]; strcpy(r, s); strcat(r, t); strcpy(r1, t); strcat(r1, s); int i = strcmp(r, r1); return i; } void outv() { for (int i = 0;i < n;i++) printf("%s",a[i]); printf("\n"); } //将有二个有序数列a[first...mid]和a[mid...last]合并。 void mergearray(char a[][32], int first, int mid, int last,char temp[][32]) { int i = first, j = mid + 1; int m = mid, n = last; int k = 0; while (i <= m && j <= n) { if (strcmp_vv(a[i], a[j])==1) strcpy(temp[k++], a[i++]); else strcpy(temp[k++], a[j++]); } while (i <= m) strcpy(temp[k++] , a[i++]); while (j <= n) strcpy(temp[k++] , a[j++]); for (i = 0; i < k; i++) strcpy(a[first + i] , temp[i]); cout<<" first "<
<<" mid "<
<<" last "<
<
> n; for (int i = 0;i < n;i++) cin >> a[i]; MergeSort(a,n); outv(); return 0; }

转载于:https://www.cnblogs.com/vvxyz/p/7719925.html

你可能感兴趣的文章
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_41、SpringBoot定时任务schedule讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_汇总
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_01传统架构演进到分布式架构
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-01 什么是微服务的注册中心
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-03CAP原理、常见面试题
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-06 服务注册和发现之Eureka Client搭建商品服务实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-01 常用的服务间调用方式讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-03 高级篇幅之Ribbon负载均衡源码分析实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择...
查看>>