Submission #1151057


Source Code Expand

#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>
#include <sstream>
#include <algorithm>
#include <cstdlib>
#include <map>
#include <queue>
#include <utility>
#include <vector>
#include <set>
#include <memory.h>
#include <iomanip>
#include <bitset>
#include <list>
#include <stack>

using namespace std;

#define mod 1000000007

int main()
{
	int r, c, n;
	cin >> r >> c >> n;
	vector<int> sub(100010, mod);
	// sub[i] : i + 1列目 - i列目の値
	map<pair<int, int>, int> m;
	priority_queue<pair<int, int> > qu;
	for(int i = 0; i < n; i++){
		int rr, cc, a;
		cin >> rr >> cc >> a;
		m[make_pair(rr, cc)] = a;
		qu.push(make_pair(rr, cc));
	}
	while(!qu.empty()){
		int rr = (qu.top()).first;
		int cc = (qu.top()).second;
		// cout << rr << " " << cc << endl;
		if(m[make_pair(rr, cc)] < 0){
			cout << "No" << endl;
			return 0;
		}
		qu.pop();
		if(rr > 1){
			if(m.find(make_pair(rr - 1, cc)) != m.end()){
				// 1つ上の値がわかっているとき
				int tmp = m[make_pair(rr, cc)] - m[make_pair(rr - 1, cc)];
				if(sub[rr - 1] == mod){
					sub[rr - 1] = tmp;
				} else if(sub[rr - 1] != tmp){
					cout << "No" << endl;
					return 0;
				}
			} else {
				// 1つ上の値がわかっていないとき
				if(sub[rr - 1] != mod){
					// rr行目とrr - 1行目の差がわかっているときは値を設定する
					m[make_pair(rr - 1, cc)] = m[make_pair(rr, cc)] - sub[rr - 1];
					qu.push(make_pair(rr - 1, cc));
				}
			}
		}
		if(rr < r){
			if(m.find(make_pair(rr + 1, cc)) != m.end()){
				// 1つ下の値がわかっているとき
				int tmp = m[make_pair(rr + 1, cc)] - m[make_pair(rr, cc)];
				if(sub[rr] == mod){
					sub[rr] = tmp;
				} else if(sub[rr] != tmp){
					cout << "No" << endl;
					return 0;
				}
			} else {
				// わかっていないとき
				if(sub[rr] != mod){
					// rr + 1行目とrr行目の差がわかっているときは値を設定する
					m[make_pair(rr + 1, cc)] = sub[rr] + m[make_pair(rr, cc)];
					qu.push(make_pair(rr + 1, cc));
				}
			}
		}
	}
	cout << "Yes" << endl;
	return 0;
}

Submission Info

Submission Time
Task D - Grid and Integers
User maple
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2180 Byte
Status WA
Exec Time 231 ms
Memory 9332 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 5
AC × 41
WA × 28
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt
Case Name Status Exec Time Memory
0_00.txt AC 2 ms 640 KB
0_01.txt AC 1 ms 640 KB
0_02.txt AC 2 ms 640 KB
0_03.txt AC 2 ms 640 KB
0_04.txt AC 2 ms 640 KB
1_00.txt AC 1 ms 640 KB
1_01.txt AC 2 ms 640 KB
1_02.txt AC 2 ms 640 KB
1_03.txt WA 2 ms 640 KB
1_04.txt AC 2 ms 640 KB
1_05.txt WA 2 ms 640 KB
1_06.txt AC 182 ms 7668 KB
1_07.txt AC 209 ms 7668 KB
1_08.txt AC 184 ms 7668 KB
1_09.txt WA 184 ms 7668 KB
1_10.txt AC 214 ms 7668 KB
1_11.txt WA 212 ms 7668 KB
1_12.txt AC 213 ms 7668 KB
1_13.txt WA 212 ms 7668 KB
1_14.txt AC 212 ms 7668 KB
1_15.txt WA 213 ms 7668 KB
1_16.txt AC 185 ms 7668 KB
1_17.txt WA 231 ms 7668 KB
1_18.txt AC 159 ms 7668 KB
1_19.txt WA 199 ms 7668 KB
1_20.txt WA 125 ms 5112 KB
1_21.txt AC 49 ms 2556 KB
1_22.txt AC 7 ms 896 KB
1_23.txt AC 120 ms 4984 KB
1_24.txt WA 160 ms 6132 KB
1_25.txt WA 126 ms 4984 KB
1_26.txt AC 10 ms 1024 KB
1_27.txt AC 17 ms 1408 KB
1_28.txt WA 192 ms 7668 KB
1_29.txt AC 56 ms 2812 KB
1_30.txt WA 187 ms 7156 KB
1_31.txt AC 69 ms 3196 KB
1_32.txt WA 172 ms 6516 KB
1_33.txt WA 195 ms 7156 KB
1_34.txt AC 19 ms 1408 KB
1_35.txt AC 227 ms 9332 KB
1_36.txt AC 24 ms 1664 KB
1_37.txt WA 74 ms 3448 KB
1_38.txt AC 144 ms 5752 KB
1_39.txt AC 38 ms 2172 KB
1_40.txt AC 138 ms 5752 KB
1_41.txt AC 109 ms 3068 KB
1_42.txt WA 178 ms 6644 KB
1_43.txt WA 125 ms 5112 KB
1_44.txt WA 171 ms 6516 KB
1_45.txt WA 46 ms 2556 KB
1_46.txt WA 186 ms 7028 KB
1_47.txt AC 58 ms 2940 KB
1_48.txt WA 51 ms 2684 KB
1_49.txt AC 15 ms 1280 KB
1_50.txt WA 103 ms 4344 KB
1_51.txt WA 191 ms 7156 KB
1_52.txt AC 10 ms 1024 KB
1_53.txt AC 24 ms 1664 KB
1_54.txt AC 51 ms 2684 KB
1_55.txt AC 76 ms 3576 KB
1_56.txt WA 129 ms 5240 KB
1_57.txt WA 203 ms 7540 KB
1_58.txt WA 163 ms 6388 KB
1_59.txt AC 8 ms 1024 KB
1_60.txt AC 2 ms 640 KB
1_61.txt WA 2 ms 640 KB
1_62.txt AC 2 ms 640 KB
1_63.txt AC 2 ms 640 KB