Advertisement
Guest User

timo

a guest
Dec 29th, 2009
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.79 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3.  
  4. public class Klah {
  5.      
  6.       /* Leiab kahe arvu maximumi */
  7.      
  8.       public static int max(int a, int b) {
  9.         return (a > b) ? a : b;
  10.       }
  11.      
  12.       /* Leiab kahe arvu miinimumi */
  13.      
  14.       public static int min(int a, int b) {
  15.         return (a < b) ? a : b;
  16.       }
  17.      
  18.       public static void main(String[] args) throws Exception {
  19.        
  20.         /* Sisend ja väljund */
  21.        
  22.         BufferedReader sisend = new BufferedReader(new FileReader("kl.sis")); // Sisend fail
  23.         PrintWriter valjund = new PrintWriter(new BufferedWriter(new FileWriter("kl.out"))); // VƤljund fail
  24.         StringTokenizer st = new StringTokenizer(sisend.readLine()); // Loeme rea
  25.        
  26.         /* Muutujad */
  27.        
  28.         int n = Integer.parseInt(st.nextToken()); // Kolmnurkade arv, eraldi ridadel
  29.        
  30.         // System.out.println("Erinevaid kolmnurki on: "+n);
  31.        
  32.         /* Koordinaadid */
  33.        
  34.         for (int i = 0; i < n; i++) {
  35.          
  36.           /* Vaatame igat rida eraldi */
  37.          
  38.           st = new StringTokenizer(sisend.readLine()); // Vaatame jƤrgmist rida
  39.          
  40.           int x1, y1, x2, y2, x3, y3; // Koordinaadid
  41.          
  42.           int[] kolmnurgaKuljed = new int[6];
  43.          
  44.           kolmnurgaKuljed[0] = Integer.parseInt(st.nextToken()); // Loeme muutujad eraldi massiivi
  45.           x1 = kolmnurgaKuljed[0];
  46.           kolmnurgaKuljed[1] = Integer.parseInt(st.nextToken());
  47.           y1 = kolmnurgaKuljed[1];
  48.           kolmnurgaKuljed[2] = Integer.parseInt(st.nextToken());
  49.           x2 = kolmnurgaKuljed[2];
  50.           kolmnurgaKuljed[3] = Integer.parseInt(st.nextToken());
  51.           y2 = kolmnurgaKuljed[3];
  52.           kolmnurgaKuljed[4] = Integer.parseInt(st.nextToken());
  53.           x3 = kolmnurgaKuljed[4];
  54.           kolmnurgaKuljed[5] = Integer.parseInt(st.nextToken());
  55.           y3 = kolmnurgaKuljed[5];
  56.          
  57.           // System.out.println(x1+" "+y1);
  58.          
  59.           /* Arvutame küljepikkuste ruudud */
  60.          
  61.           int a1 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
  62.           int a2 = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);
  63.           int a3 = (x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1);
  64.          
  65.          
  66.           /* System.out.println(a1+" "+a2+" "+a3); */
  67.           /* Muidugi võiks veel vaadata ega ühegi külje pikkus 0 ei ole */
  68.           /* Leiame maksimumi */
  69.          
  70.           int j;
  71.           j = max(a1, max(a2, a3)); // Otsime kõige suurema külje, meetod max on kirjeldatud eespool
  72.          
  73.           /* System.out.println(j); */
  74.          
  75.           /* Kui küljed on ühel real, siis ei ole ta kolmnurk */
  76.          
  77.           if ((x1 - x2) * ( y1 - y3) == ( x1 -x3 ) * (y1 - y2)) {
  78.             valjund.write("VIGA");
  79.             valjund.write("\n");
  80.           }
  81.          
  82.           else if ( (a1 > 0 && a2 > 0 && a3 > 0) && (2 * j == a1 + a2 + a3) ) {
  83.            
  84.             /* Kui võrdne, on täisnurkne */
  85.            
  86.             valjund.write("TAIS");
  87.             valjund.write("\n");
  88.           }
  89.          
  90.           else if ( (j != 0) && (a1 + a2 + a3 < 2 * j) ) {
  91.            
  92.             /* Kui max ruut on suurem kui teiste summa, on nĆ¼rinurkne */
  93.            
  94.             valjund.write("NURI");
  95.             valjund.write("\n");
  96.           }
  97.          
  98.           else if ( (a1 > 0 && a2 > 0 && a3 > 0) && (a1 + a2 + a3) > (2 * j) ) {
  99.            
  100.             /* Kui max ruut on väiksem kui teiste summa, on teravnurkne */
  101.            
  102.             valjund.write("TERAV");
  103.             valjund.write("\n");
  104.            
  105.           }    
  106.         }
  107.        
  108.         /* Sulgeme väljundid */
  109.        
  110.         sisend.close();
  111.         valjund.close();
  112.        
  113.       }
  114.      
  115. }
  116.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement