-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCitizen_attention.java
117 lines (95 loc) · 2.78 KB
/
Citizen_attention.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Citizen_attention {
public static void main(String[] args) {
FastReader s=new FastReader();
int T = s.nextInt();
while (T-- > 0)
{
int[][] mat = new int[5][5];
int n = s.nextInt();
while(n-->0){
mat[s.nextInt()][s.nextInt()]=s.nextInt();
}
int[] res = new int[5];
Long min = Long.MAX_VALUE;
for( int a = 0 ; a < 21 ; a++){
for( int b = a+1 ; b < 22 ; b++ ){
for( int c = b+1 ; c < 23 ; c++ ){
for( int d = c+1 ; d < 24 ; d++ ){
for(int e = d+1;e<25;e++){
int Sum = 0;
for(int search = 0 ; search < 25 ; search++){
int row = search / 5, col = search % 5;
int first = Math.abs(row-a/5)+Math.abs(col-a%5);
int second = Math.abs(row-b/5)+Math.abs(col-b%5);
int third = Math.abs(row-c/5)+Math.abs(col-c%5);
int fourth = Math.abs(row-d/5)+Math.abs(col-d%5);
int fifth = Math.abs(row-e/5)+Math.abs(col-e%5);
Sum += mat[row][col]*Math.min(first, Math.min(second, Math.min(third, Math.min(fourth, fifth))));
}
if(Sum < min){
res = new int[]{a,b,c,d,e};
min = (long) Sum;
}
}
}
}
}
}
System.out.println(res[0]+" "+ res[1]+" "+res[2]+" "+res[3]+" "+res[4]);
}
}
static class FastReader
{
BufferedReader br;
StringTokenizer st;
public FastReader()
{
br = new BufferedReader(new
InputStreamReader(System.in));
}
String next()
{
while (st == null || !st.hasMoreElements())
{
try
{
st = new StringTokenizer(br.readLine());
}
catch (IOException e)
{
e.printStackTrace();
}
}
return st.nextToken();
}
int nextInt()
{
return Integer.parseInt(next());
}
long nextLong()
{
return Long.parseLong(next());
}
double nextDouble()
{
return Double.parseDouble(next());
}
String nextLine()
{
String str = "";
try
{
str = br.readLine();
}
catch (IOException e)
{
e.printStackTrace();
}
return str;
}
}
}