Submission #2544647


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

/**
ワーシャルフロイド
計算量O(n^3)
全体全の最短距離を求める
**/
#define NODE 301
long long dist[NODE][NODE];
void WF(int num)
{
	for(int k = 0; k < num; k++)
	{
		for(int i = 0; i < num; i++)
		{
			for(int j = 0; j < num; j++)
			{
				dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
			}
		}
	}
}

int main()
{
	int H, W;
	cin >> H >> W;
	for(int i = 0; i < 10; i++)
	{
		for(int j = 0; j < 10; j++)
		{
			long long foo;
			cin >> foo;
			dist[i][j] = foo;
		}
	}
	WF(10);
	int sum = 0;
	for(int i = 0; i < H; i++)
	{
		for(int j = 0; j < W; j++)
		{
			int foo;
			cin >> foo;
			if(foo == 1 || foo == -1)
			{
				continue;
			}
			sum += dist[foo][1];
		}
	}
	cout << sum << endl;
	return 0;
}

Submission Info

Submission Time
Task D - Wall
User rei_k
Language C++14 (GCC 5.4.1)
Score 400
Code Size 834 Byte
Status AC
Exec Time 10 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, sample_01.txt, sample_02.txt, sample_03.txt
Case Name Status Exec Time Memory
01.txt AC 8 ms 256 KB
02.txt AC 8 ms 256 KB
03.txt AC 7 ms 256 KB
04.txt AC 8 ms 256 KB
05.txt AC 5 ms 256 KB
06.txt AC 8 ms 256 KB
07.txt AC 8 ms 256 KB
08.txt AC 2 ms 256 KB
09.txt AC 2 ms 256 KB
10.txt AC 8 ms 256 KB
11.txt AC 8 ms 256 KB
12.txt AC 8 ms 256 KB
13.txt AC 10 ms 256 KB
14.txt AC 10 ms 256 KB
15.txt AC 1 ms 256 KB
16.txt AC 8 ms 256 KB
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB