Submission #1611746
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using System.IO; using static System.Console; using Pair = System.Collections.Generic.KeyValuePair<int, int>; //using System.Numerics; //using static System.Math; class Program { static void Main() { //SetOut(new StreamWriter(OpenStandardOutput()) { AutoFlush = false }); new Program().solve(); Out.Flush(); } Scanner cin = new Scanner(); readonly int[] dd = { 0, 1, 0, -1, 0 }; readonly int mod = 1000000007; readonly string alfa = "abcdefghijklmnopqrstuvwxyz"; readonly string ALFA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int N; int R, C; List<Edge>[] G; long[] W; const long inf = long.MaxValue / 3; bool[] B; bool ok = true; void solve() { R = cin.nextint; C = cin.nextint; N = cin.nextint; G = Enumerable.Range(0, R + C).Select(i => new List<Edge>()).ToArray(); for (int i = 0; i < N; i++) { int r = cin.nextint - 1; int c = cin.nextint - 1; int a = cin.nextint; G[r].Add(new Edge(R + c, a)); G[R + c].Add(new Edge(r, a)); } W = Enumerable.Repeat(inf, R + C).ToArray(); B = new bool[R + C]; for (int i = 0; i < R + C; i++) { dfs(i, 0); } //WriteLine(string.Join(" ", W)); if (ok && W.Take(R).Min() + W.Skip(R).Min() >= 0) { WriteLine("Yes"); } else { WriteLine("No"); } } void dfs(int u, long value) { //WriteLine(u + 1); if (B[u]) { if (W[u] != value) { ok = false; } return; } B[u] = true; W[u] = value; foreach (var v in G[u]) { dfs(v.to, v.cost - value); } } struct Edge : IComparable<Edge> { public int to; public long cost; public Edge(int to, long cost) { this.to = to; this.cost = cost; } public int CompareTo(Edge e) { return cost.CompareTo(e.cost); } } } class Scanner { string[] s; int i; char[] cs = new char[] { ' ' }; public Scanner() { s = new string[0]; i = 0; } public string[] scan { get { return ReadLine().Split(); } } public int[] scanint { get { return Array.ConvertAll(scan, int.Parse); } } public long[] scanlong { get { return Array.ConvertAll(scan, long.Parse); } } public double[] scandouble { get { return Array.ConvertAll(scan, double.Parse); } } public string next { get { if (i < s.Length) return s[i++]; string st = ReadLine(); while (st == "") st = ReadLine(); s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); i = 0; return next; } } public int nextint { get { return int.Parse(next); } } public long nextlong { get { return long.Parse(next); } } public double nextdouble { get { return double.Parse(next); } } }
Submission Info
Submission Time | |
---|---|
Task | D - Grid and Integers |
User | claw88 |
Language | C# (Mono 4.6.2.0) |
Score | 0 |
Code Size | 3299 Byte |
Status | WA |
Exec Time | 316 ms |
Memory | 56616 KB |
Judge Result
Set Name | Sample | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 800 | ||||||||
Status |
|
|
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 | WA | 27 ms | 9428 KB |
0_01.txt | AC | 27 ms | 11476 KB |
0_02.txt | AC | 27 ms | 11476 KB |
0_03.txt | WA | 27 ms | 11476 KB |
0_04.txt | AC | 28 ms | 13524 KB |
1_00.txt | AC | 73 ms | 32368 KB |
1_01.txt | WA | 63 ms | 30192 KB |
1_02.txt | AC | 71 ms | 28272 KB |
1_03.txt | AC | 62 ms | 30192 KB |
1_04.txt | WA | 62 ms | 28144 KB |
1_05.txt | AC | 63 ms | 32240 KB |
1_06.txt | AC | 304 ms | 48908 KB |
1_07.txt | WA | 316 ms | 48904 KB |
1_08.txt | AC | 276 ms | 42648 KB |
1_09.txt | AC | 271 ms | 40468 KB |
1_10.txt | WA | 282 ms | 39952 KB |
1_11.txt | AC | 279 ms | 42000 KB |
1_12.txt | WA | 301 ms | 52492 KB |
1_13.txt | AC | 297 ms | 52492 KB |
1_14.txt | WA | 307 ms | 52496 KB |
1_15.txt | AC | 305 ms | 56616 KB |
1_16.txt | AC | 286 ms | 45972 KB |
1_17.txt | AC | 289 ms | 49812 KB |
1_18.txt | AC | 289 ms | 54548 KB |
1_19.txt | AC | 295 ms | 48656 KB |
1_20.txt | AC | 147 ms | 28372 KB |
1_21.txt | WA | 99 ms | 28032 KB |
1_22.txt | WA | 50 ms | 25008 KB |
1_23.txt | WA | 197 ms | 35772 KB |
1_24.txt | AC | 177 ms | 30284 KB |
1_25.txt | AC | 158 ms | 30272 KB |
1_26.txt | WA | 40 ms | 16736 KB |
1_27.txt | WA | 70 ms | 26732 KB |
1_28.txt | AC | 267 ms | 40108 KB |
1_29.txt | WA | 112 ms | 30948 KB |
1_30.txt | AC | 248 ms | 37292 KB |
1_31.txt | WA | 147 ms | 32984 KB |
1_32.txt | AC | 171 ms | 26036 KB |
1_33.txt | AC | 244 ms | 37292 KB |
1_34.txt | WA | 67 ms | 25132 KB |
1_35.txt | WA | 186 ms | 29476 KB |
1_36.txt | WA | 77 ms | 25640 KB |
1_37.txt | AC | 102 ms | 23980 KB |
1_38.txt | WA | 212 ms | 38884 KB |
1_39.txt | WA | 98 ms | 31288 KB |
1_40.txt | WA | 198 ms | 38112 KB |
1_41.txt | WA | 145 ms | 34664 KB |
1_42.txt | AC | 189 ms | 30312 KB |
1_43.txt | AC | 196 ms | 32132 KB |
1_44.txt | AC | 211 ms | 34484 KB |
1_45.txt | AC | 87 ms | 23284 KB |
1_46.txt | AC | 244 ms | 36780 KB |
1_47.txt | WA | 103 ms | 25600 KB |
1_48.txt | AC | 87 ms | 23232 KB |
1_49.txt | WA | 63 ms | 23344 KB |
1_50.txt | AC | 148 ms | 29900 KB |
1_51.txt | AC | 219 ms | 30044 KB |
1_52.txt | WA | 79 ms | 34216 KB |
1_53.txt | WA | 89 ms | 30344 KB |
1_54.txt | WA | 102 ms | 31996 KB |
1_55.txt | WA | 105 ms | 22996 KB |
1_56.txt | AC | 182 ms | 30932 KB |
1_57.txt | AC | 228 ms | 30536 KB |
1_58.txt | AC | 214 ms | 34288 KB |
1_59.txt | WA | 57 ms | 25328 KB |
1_60.txt | AC | 27 ms | 11476 KB |
1_61.txt | AC | 27 ms | 11476 KB |
1_62.txt | WA | 28 ms | 13524 KB |
1_63.txt | AC | 27 ms | 11476 KB |