Zabavno dejstvo iz sveta matematike
1/998001 nam da urejeno zaporedje od 000 do 999. 1/998001 = 0.000001002003004...

Zabavno dejstvo iz sveta računalništva
Leta 1936 so Rusi naredili računalnik na vodo. (Vir: http://gizmodo.com/5879106/the-russian-computer-that-ran-on-water)

Zalivanje

Moderatorji: hinkopihpih, Matic Conradi

lukazlatecan
Site Admin
Prispevkov: 23
Pridružen: Po Apr 24, 2017 5:29 pm
Kraj: Celje

Zalivanje

OdgovorNapisal/-a lukazlatecan » Če Maj 18, 2017 11:47 am

Na vrtu raste N čudovitih cvetlic, ki se nahajajo na koordinatah [math]. Skrbni vrtnar Saša je namestil namakalni sistem, ki ima M šob za vodo. Posamezna šoba se nahaja na koordinatah [math] in zaliva cvetlice, ki od nje niso oddaljene več kot [math] enot. Šobe lahko tudi sovpadajo s cvetlicami. Cvetlice so zelo odporne na prekomerno zalivanje, slabo pa prenašajo sušo.

Napišite program, ki bo učinkovito izračunal, koliko cvetlic je še vedno potrebno zalivati ročno, ker jih namakalni sistem ne doseže.

Vhodni podatki
Vsa števila v vhodnih podatkih so cela. V prvi vrstici se nahajata števili N in M. V naslednjih N vrsticah so podane koordinate cvetlic [math] in [math]. Nato sledi še M vrstic, ki opisujejo šobe namakalnega sistem s števili [math], [math] in [math]. Koordinate po absolutni vrednosti ne presežejo 109.

Omejitve vhodnih podatkov
  • [math]
  • [math]
  • [math]
  • [math]

Izhodni podatki
Izpišite, koliko cvetlic namakalni sistem ne doseže.

Primer vhoda

Koda: Izberi vse

10 7
-2 -5
-39 44
-41 -30
-44 29
47 -6
25 -3
18 -7
-50 47
-35 -20
39 32
22 1 14
-29 -8 17
8 50 16
-5 35 19
6 4 8
-25 -50 4
-50 15 16

Pripadajoč izhod

Koda: Izberi vse

6
Mathematicians have tried in vain to this day to discover some order in the sequence of prime numbers, and we have reason to believe that it is a mystery into which the human mind will never penetrate. - Leonhard Euler

hinkopihpih
Prispevkov: 11
Pridružen: Ne Apr 30, 2017 2:11 pm

Re: Zalivanje

OdgovorNapisal/-a hinkopihpih » Po Jun 19, 2017 3:29 pm

Koda: Izberi vse

import java.util.*;

public class Zalivanje
{
   public static void main(String[]args)
   {
      Scanner skan = new Scanner(System.in);
      int n = skan.nextInt();
      int m = skan.nextInt();

      List<int[]> roze = new ArrayList<int[]>();
      List<int[]> sobe = new ArrayList<int[]>();

      for(int i = 0; i < n; i++)
      {
         int[] roza = new int[2];
         roza[0] = skan.nextInt();
         roza[1] = skan.nextInt();
         roze.add(roza);
      }

      for(int i = 0; i < m; i++)
      {
         int[] soba = new int[3];
         soba[0] = skan.nextInt();
         soba[1] = skan.nextInt();
         soba[2] = skan.nextInt();
         sobe.add(soba);
      }

      for(int i = 0; i < m; i++)
      {
         int r = sobe.get(i)[2];
         int x1 = sobe.get(i)[0];
         int y1 = sobe.get(i)[1];

         for(int j = 0; j < roze.size(); j++)
         {
            int x2 = roze.get(j)[0];
            int y2 = roze.get(j)[1];
            double distance = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));

            if(distance <= r)
            {
               roze.remove(j);
               j--;
            }   
         }   
      }

      System.out.println(roze.size());   
   }
}


Vrni se na “2. Kolo”

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 4 gosti