Submission #1151068


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<long long int> sub(100010, mod);
	// sub[i] : i + 1列目 - i列目の値
	map<pair<int, int>, long long 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つ上の値がわかっているとき
				long long 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つ下の値がわかっているとき
				long long 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 2220 Byte
Status WA
Exec Time 183 ms
Memory 9716 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 1024 KB
0_01.txt AC 2 ms 1024 KB
0_02.txt AC 2 ms 1024 KB
0_03.txt AC 2 ms 1024 KB
0_04.txt AC 2 ms 1024 KB
1_00.txt AC 2 ms 1024 KB
1_01.txt AC 2 ms 1024 KB
1_02.txt AC 2 ms 1024 KB
1_03.txt WA 2 ms 1024 KB
1_04.txt AC 2 ms 1024 KB
1_05.txt WA 2 ms 1024 KB
1_06.txt AC 161 ms 8052 KB
1_07.txt AC 167 ms 8052 KB
1_08.txt AC 165 ms 8052 KB
1_09.txt WA 144 ms 8052 KB
1_10.txt AC 183 ms 8052 KB
1_11.txt WA 169 ms 8052 KB
1_12.txt AC 168 ms 8052 KB
1_13.txt WA 175 ms 8052 KB
1_14.txt AC 170 ms 8052 KB
1_15.txt WA 170 ms 8052 KB
1_16.txt AC 147 ms 8052 KB
1_17.txt WA 158 ms 8052 KB
1_18.txt AC 134 ms 8052 KB
1_19.txt WA 158 ms 8052 KB
1_20.txt WA 104 ms 5496 KB
1_21.txt AC 44 ms 2940 KB
1_22.txt AC 7 ms 1280 KB
1_23.txt AC 99 ms 5368 KB
1_24.txt WA 132 ms 6516 KB
1_25.txt WA 101 ms 5368 KB
1_26.txt AC 10 ms 1408 KB
1_27.txt AC 17 ms 1792 KB
1_28.txt WA 164 ms 8052 KB
1_29.txt AC 52 ms 3324 KB
1_30.txt WA 156 ms 7540 KB
1_31.txt AC 58 ms 3580 KB
1_32.txt WA 150 ms 6900 KB
1_33.txt WA 170 ms 7540 KB
1_34.txt AC 18 ms 1792 KB
1_35.txt AC 183 ms 9716 KB
1_36.txt AC 22 ms 2048 KB
1_37.txt WA 63 ms 3832 KB
1_38.txt AC 115 ms 6136 KB
1_39.txt AC 33 ms 2556 KB
1_40.txt AC 112 ms 6136 KB
1_41.txt AC 54 ms 3324 KB
1_42.txt WA 140 ms 7028 KB
1_43.txt WA 117 ms 5496 KB
1_44.txt WA 136 ms 6900 KB
1_45.txt WA 41 ms 2940 KB
1_46.txt WA 151 ms 7412 KB
1_47.txt AC 51 ms 3324 KB
1_48.txt WA 46 ms 3068 KB
1_49.txt AC 15 ms 1664 KB
1_50.txt WA 88 ms 4728 KB
1_51.txt WA 154 ms 7540 KB
1_52.txt AC 10 ms 1408 KB
1_53.txt AC 23 ms 2048 KB
1_54.txt AC 45 ms 3068 KB
1_55.txt AC 65 ms 3960 KB
1_56.txt WA 109 ms 5624 KB
1_57.txt WA 164 ms 8820 KB
1_58.txt WA 133 ms 6772 KB
1_59.txt AC 8 ms 1408 KB
1_60.txt AC 2 ms 1024 KB
1_61.txt WA 2 ms 1024 KB
1_62.txt AC 2 ms 1024 KB
1_63.txt AC 2 ms 1024 KB