Untitled
unknown
java
a year ago
4.3 kB
7
Indexable
import java.util.*;
import java.io.*;
class Pair{
int x;
int y;
int z;
Pair(int x, int y, int z){
this.x = Math.min(x,y);
this.x = Math.min(this.x,z);
this.z = Math.max(x,y);
this.z= Math.max(this.z,z);
if(this.x != x && this.z != x) this.y = x;
else if(this.x != y && this.z != y) this.y = y;
else this.y = z;
}
}
public class Main{
static class FastReader{
BufferedReader br;
StringTokenizer st;
public FastReader(){
br=new BufferedReader(new InputStreamReader(System.in));
}
String next(){
while(st==null || !st.hasMoreTokens()){
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().trim();
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
}
static class FastWriter {
private final BufferedWriter bw;
public FastWriter() {
this.bw = new BufferedWriter(new OutputStreamWriter(System.out));
}
public void print(Object object) throws IOException {
bw.append("" + object);
}
public void println(Object object) throws IOException {
print(object);
bw.append("\n");
}
public void close() throws IOException {
bw.close();
}
}
public static void main(String[] args) {
try {
FastReader sc=new FastReader();
FastWriter out = new FastWriter();
//write code here
int t = sc.nextInt();
while(t-->0){
int n = sc.nextInt();
int[] arr = new int[n];
HashMap<String, Boolean> vis = new HashMap<>();
for(int i = 0; i<n;i++){
arr[i] = sc.nextInt();
}
List<Pair> pairs = new ArrayList<>();
int count = 0;
for(int j = 0; j< n;j++){
int k = -arr[j];
HashMap<Integer, Integer> map = new HashMap<>();
for(int i = 0;i<n;i++){
int res = k - arr[i];
// System.out.println(k+" "+arr[i]);
if(map.containsKey(arr[i]) && j != i && i != map.get(arr[i]) && j != map.get(arr[i])){
Pair newPair = new Pair(arr[j], arr[map.get(arr[i])],arr[i]);
String str = newPair.x+" "+newPair.y+" "+newPair.z;
if(!vis.containsKey(str)){
vis.put(str,true);
pairs.add(newPair);
count++;
}
}
map.put(res,i);
}
System.out.println(map);
}
pairs.sort((p1, p2) -> {
if (p1.x != p2.x) {
return Integer.compare(p1.x, p2.x);
}
else if(p1.y != p2.y) {
return Integer.compare(p1.y, p2.y);
}
else{
return Integer.compare(p1.z, p2.z);
}
});
System.out.println(count);
for(Pair pair:pairs){
System.out.println(pair.x+" "+pair.y+" "+pair.z);
}
}
out.close();
}
catch (Exception e) {
e.printStackTrace() ;
return;
}
}
}
Editor is loading...
Leave a Comment