Submission #1696306


Source Code Expand

#include <bits/stdc++.h>
// iostream is too mainstream
#include <cstdio>
// bitch please
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <list>
#include <cmath>
#include <iomanip>
#include <time.h>
#define dibs reserve
#define OVER9000 1234567890
#define ALL_THE(CAKE,LIE) for(auto LIE =CAKE.begin(); LIE != CAKE.end(); LIE++)
#define tisic 47
#define soclose 1e-8
#define chocolate win
// so much chocolate
#define patkan 9
#define ff first
#define ss second
#define abs(x) ((x < 0)?-(x):x)
#define uint unsigned int
#define dbl long double
#define pi 3.14159265358979323846
using namespace std;
// mylittledoge

typedef long long cat;

#ifdef DONLINE_JUDGE
	// palindromic tree is better than splay tree!
	#define lld I64d
#endif

int main() {
	cin.sync_with_stdio(0);
	cin.tie(0);
	cout << fixed << setprecision(10);
	int H,W;
	cin >> H >> W;
	vector<string> S(H);
	for(int i =0; i < H; i++) cin >> S[i];

	int ans =0;
	for(int i =0; i < W-1; i++) {
		vector< vector<int> > cost0(H+1,vector<int>(H+1,0));
		for(int j =H-1; j >= 0; j--) for(int k =H-1; k >= 0; k--)
			cost0[j][k] =cost0[j+1][k+1]+(S[H-1-j][i] == S[H-1-k][i+1]);
		vector< vector<int> > cost(H+1,vector<int>(H+1,OVER9000));
		cost[0][0] =0;
		for(int j =0; j <= H; j++) for(int k =0; k <= H; k++) {
			if(j < H) cost[j+1][k] =min(cost[j+1][k],cost[j][k]+cost0[j][k]);
			if(k < H) cost[j][k+1] =min(cost[j][k+1],cost[j][k]+cost0[j][k]);
		}
		ans +=cost[H][H];
	}
	cout << ans << "\n";
	return 0;}

// look at my code
// my code is amazing

Submission Info

Submission Time
Task D - Friction
User xellos
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1679 Byte
Status AC
Exec Time 290 ms
Memory 1152 KB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 300 / 300 500 / 500
Status
AC × 5
AC × 20
AC × 41
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 0_004.txt
Subtask 0_000.txt, 0_001.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 0_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 2_023.txt, 2_024.txt, 2_025.txt, 2_026.txt, 2_027.txt, 2_028.txt, 2_029.txt, 2_030.txt, 2_031.txt, 2_032.txt, 2_033.txt, 2_034.txt, 2_035.txt, 2_036.txt, 2_037.txt, 2_038.txt, 2_039.txt, 2_040.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
0_002.txt AC 1 ms 256 KB
0_003.txt AC 1 ms 256 KB
0_004.txt AC 1 ms 256 KB
1_005.txt AC 1 ms 256 KB
1_006.txt AC 3 ms 1060 KB
1_007.txt AC 3 ms 1060 KB
1_008.txt AC 3 ms 1060 KB
1_009.txt AC 3 ms 1060 KB
1_010.txt AC 3 ms 1060 KB
1_011.txt AC 3 ms 896 KB
1_012.txt AC 3 ms 1060 KB
1_013.txt AC 2 ms 512 KB
1_014.txt AC 3 ms 1060 KB
1_015.txt AC 2 ms 668 KB
1_016.txt AC 3 ms 1060 KB
1_017.txt AC 1 ms 256 KB
1_018.txt AC 3 ms 1060 KB
1_019.txt AC 2 ms 512 KB
1_020.txt AC 3 ms 1060 KB
1_021.txt AC 3 ms 1024 KB
1_022.txt AC 3 ms 1060 KB
2_023.txt AC 1 ms 256 KB
2_024.txt AC 287 ms 1152 KB
2_025.txt AC 288 ms 1152 KB
2_026.txt AC 287 ms 1152 KB
2_027.txt AC 289 ms 1152 KB
2_028.txt AC 287 ms 1152 KB
2_029.txt AC 10 ms 256 KB
2_030.txt AC 287 ms 1152 KB
2_031.txt AC 9 ms 256 KB
2_032.txt AC 287 ms 1152 KB
2_033.txt AC 60 ms 576 KB
2_034.txt AC 290 ms 1152 KB
2_035.txt AC 165 ms 1096 KB
2_036.txt AC 289 ms 1152 KB
2_037.txt AC 8 ms 512 KB
2_038.txt AC 287 ms 1152 KB
2_039.txt AC 5 ms 384 KB
2_040.txt AC 288 ms 1152 KB