首页 > 其他分享 >502 删点游戏

502 删点游戏

时间:2024-08-16 14:50:44浏览次数:7  
标签:insert include 游戏 idx int 顶点 删点 502

// 502 删点游戏.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//


/*
http://oj.daimayuan.top/course/14/problem/685

给你一张 n个顶点的有向简单图,顶点编号从 1到 n,我们要把所有顶点一个一个删完。
小蜗每次会删掉图中的一个顶点和所有与它相连的边,小蜗想知道每删去一个顶点之后图中所有点对的距离之和。

输入格式
第一行一个整数 n,表示顶点数。

接下来 n行,每行 n个整数,组成一个 n×n的矩阵 A表示这张图的邻接矩阵,矩阵第 i行第 j列表示 i号顶点到 j号顶点有一条边权为 A[i][j]的边。

接下来一行,输入 n个数 x1,x2,...,xn,代表删除顶点的顺序。

输出格式
输出一行 n个数依次表示删除了第 0个点(一个点都没删除)到第 n−1个点(图中还剩下一个点)后,图中所有剩下的点对的距离之和。

样例输入
2
0 5
4 0
1 2
样例输出
9 0
数据规模
对于所有数据,保证 2≤n≤300,1≤A[i][j]≤10000,A[i][i]=0,1≤xi≤n。
*/

#include <iostream>
#include <algorithm>
#include <memory.h>


using namespace std;


const int N = 305;
int d[N][N];
int n;
int c[N];


int main() 
{
	cin >> n;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			cin >> d[i][j];
		}
	}
	for (int i = 0; i < n; i++) {
		cin >> c[i];
	}
	int ans[N]; memset(ans, 0, sizeof ans);
	int insert[N]; memset(insert, 0, sizeof insert);
	for (int idx = n-1; idx >= 0; idx--) {
		int k = c[idx]; insert[k] = 1;
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= n; j++) {
				d[i][j] = min(d[i][j],d[i][k]+d[k][j]);
				if (insert[i] && insert[j]) {
					ans[idx] += d[i][j];
				}
			}
		}
	}

	for (int i = 0; i < n;i++) {
		cout << ans[i] << " ";
	}

	return 0;
}

标签:insert,include,游戏,idx,int,顶点,删点,502
From: https://www.cnblogs.com/itdef/p/18362833

相关文章

  • js实现翻牌游戏
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title&g......
  • 基于 Java 的雷电(飞机大战)游戏
    点击下载源码基于java的雷电(飞机大战)游戏摘要电脑游戏,是指在计算机上能够运转的游戏软件。这种软件具有较强的娱乐性。电脑游戏的创新和发展与硬件、软件的发展紧密相关。它能够给玩家提供一个虚拟的环境,使游戏带给了人们很多的享受和欢乐。雷电游戏因为操作简单,节奏明......
  • 学霸带你深入了解游戏如何展现文化多样性
    欢迎加入我在CSDN的社区【纽雪澳诺加海美德】引言全球化时代的文化交融在全球化的今天,文化的界限正在变得越来越模糊。游戏,作为一种广泛传播的娱乐形式,不仅仅是消遣的工具,更是文化交流和社会理解的桥梁。通过游戏,我们可以探索不同的世界,体验多样的文化,并与全球玩家建立联......
  • 自制操作系统(七、在自制操作系统玩游戏)
    废话不多说,直接上代码[org0x7c00];定义游戏板数组board1db'','',''board2db'','',''board3db'','',''player_turndb'X';玩家'X'的回合star......
  • 用JavaScript做超级玛丽小游戏
    一、前言前几天用JS实现扫雷和贪吃蛇(通过HTML的DOM节点实现基本界面,界面背景简单,交互简单)。比较复杂的是植物大战僵尸,不同的关卡设置单独的函数。所以还比较难。超级玛丽通过canvas实现背景,交互很复杂,功能很多,JS代码完全是有汇编语言反编译成C语言,然后把C语言转换成JS实现的......
  • 题解:P10111 [GESP202312 七级] 纸牌游戏
    题目大意给出三个序列:\(a\),\(b\),\(c\)分别表示:分数,罚分以及小杨从第\(1\)轮至第\(......
  • 小X与游戏
    题目描述小X和小Y正在玩一个游戏,这个游戏是这样的:桌上放着n叠卡片,每叠恰好有两张。每张卡片有一个分数。小X为先手,双方轮流操作。轮到一方操作时,他可以选择取走某一叠卡片顶端的那一张(即:若这一叠还剩2张则取走上面的一张,否则取走下面的一张),并获得它的分数。他也可以选择不取。......
  • 基于MonoGame重制《俄罗斯方块》游戏
    两年前,我使用C#基于MonoGame编写了一款《俄罗斯方块》游戏,相关介绍可以参考【这篇文章】。最近,使用业余时间将之前的基于MonoGame的游戏开发框架重构了一下,于是,也就趁此机会将之前的《俄罗斯方块》游戏也重制一次,加入了许多我一直打算加入的功能,甚至包括提供跨平台的版本。先说说......
  • C语言无脑小游戏三子棋程序
    #include<stdio.h>#include<time.h>#include<stdlib.h>#include<windows.h>#defineROW3#defineCOL3voidmenu();//菜单函数声明voidgame();//游戏函数声明voidInit_board(charboard[ROW][COL],introw,intcol);//棋盘初始化函数声明voidDisplay_board......
  • 《师父》风灵月影修改器:探索游戏无限可能,十四项功能操作宝典
    《师父》是一款充满挑战与深度的角色扮演游戏,其丰富的剧情与战斗系统吸引了大量玩家。然而,对于一些玩家来说,游戏的难度可能稍显陡峭,这时候,风灵月影修改器便成为了调整游戏体验的强大工具。本文将详细介绍风灵月影修改器的十四项功能,以及如何操作这些功能,帮助玩家更自由地探索游......