Submission #1611787
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++) { if (B[i]) continue; xmin = ymin = inf; dfs(i, 0); if(xmin + ymin < 0) { ok = false; break; } } //WriteLine(string.Join(" ", W)); if (ok) { WriteLine("Yes"); } else { WriteLine("No"); } } long xmin, ymin; void dfs(int u, long value) { if (u < R) { xmin = Math.Min(xmin, value); } else { ymin = Math.Min(ymin, 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 | 800 |
Code Size | 3624 Byte |
Status | AC |
Exec Time | 304 ms |
Memory | 56588 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 800 / 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 | AC | 27 ms | 11476 KB |
0_01.txt | AC | 27 ms | 9428 KB |
0_02.txt | AC | 27 ms | 11476 KB |
0_03.txt | AC | 27 ms | 11476 KB |
0_04.txt | AC | 27 ms | 11476 KB |
1_00.txt | AC | 62 ms | 32240 KB |
1_01.txt | AC | 63 ms | 32240 KB |
1_02.txt | AC | 62 ms | 34288 KB |
1_03.txt | AC | 58 ms | 30192 KB |
1_04.txt | AC | 62 ms | 28144 KB |
1_05.txt | AC | 62 ms | 30192 KB |
1_06.txt | AC | 275 ms | 52876 KB |
1_07.txt | AC | 304 ms | 48776 KB |
1_08.txt | AC | 271 ms | 40468 KB |
1_09.txt | AC | 243 ms | 42516 KB |
1_10.txt | AC | 263 ms | 39952 KB |
1_11.txt | AC | 270 ms | 39952 KB |
1_12.txt | AC | 287 ms | 52492 KB |
1_13.txt | AC | 285 ms | 56588 KB |
1_14.txt | AC | 282 ms | 54540 KB |
1_15.txt | AC | 294 ms | 52496 KB |
1_16.txt | AC | 259 ms | 47764 KB |
1_17.txt | AC | 280 ms | 53908 KB |
1_18.txt | AC | 265 ms | 48408 KB |
1_19.txt | AC | 272 ms | 50704 KB |
1_20.txt | AC | 146 ms | 28372 KB |
1_21.txt | AC | 96 ms | 30080 KB |
1_22.txt | AC | 49 ms | 20912 KB |
1_23.txt | AC | 181 ms | 33728 KB |
1_24.txt | AC | 170 ms | 30284 KB |
1_25.txt | AC | 147 ms | 30272 KB |
1_26.txt | AC | 38 ms | 14688 KB |
1_27.txt | AC | 68 ms | 26732 KB |
1_28.txt | AC | 241 ms | 40112 KB |
1_29.txt | AC | 106 ms | 28900 KB |
1_30.txt | AC | 229 ms | 35244 KB |
1_31.txt | AC | 140 ms | 32984 KB |
1_32.txt | AC | 164 ms | 26036 KB |
1_33.txt | AC | 236 ms | 35244 KB |
1_34.txt | AC | 65 ms | 25132 KB |
1_35.txt | AC | 175 ms | 25380 KB |
1_36.txt | AC | 71 ms | 25768 KB |
1_37.txt | AC | 100 ms | 21932 KB |
1_38.txt | AC | 207 ms | 34020 KB |
1_39.txt | AC | 93 ms | 33336 KB |
1_40.txt | AC | 196 ms | 38120 KB |
1_41.txt | AC | 135 ms | 34792 KB |
1_42.txt | AC | 181 ms | 30312 KB |
1_43.txt | AC | 184 ms | 35008 KB |
1_44.txt | AC | 200 ms | 36532 KB |
1_45.txt | AC | 84 ms | 27380 KB |
1_46.txt | AC | 220 ms | 36780 KB |
1_47.txt | AC | 98 ms | 27648 KB |
1_48.txt | AC | 84 ms | 27328 KB |
1_49.txt | AC | 58 ms | 23344 KB |
1_50.txt | AC | 134 ms | 27852 KB |
1_51.txt | AC | 217 ms | 30044 KB |
1_52.txt | AC | 75 ms | 30120 KB |
1_53.txt | AC | 87 ms | 30344 KB |
1_54.txt | AC | 100 ms | 27900 KB |
1_55.txt | AC | 109 ms | 25044 KB |
1_56.txt | AC | 188 ms | 32980 KB |
1_57.txt | AC | 221 ms | 30664 KB |
1_58.txt | AC | 213 ms | 36336 KB |
1_59.txt | AC | 58 ms | 25328 KB |
1_60.txt | AC | 27 ms | 11476 KB |
1_61.txt | AC | 27 ms | 11476 KB |
1_62.txt | AC | 27 ms | 11476 KB |
1_63.txt | AC | 26 ms | 9428 KB |