Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Galaksiler arası kodlama mücadelesi
#1
Thumbs Down 
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. adresinde ilginç bir challenge mevcut. Meraklı arkadaşlar belki uğraşmak ister.


Hikaye

Yıl 2150. Siz Galaxy Wanderer'in kaptanısınız ve zamanınız doluyor. Yakıt depoları düşük ve çaresiz aramanız sizi seyahat ettiğinizden daha uzak gezegenlere götürdü. Şimdi, sadece kodlama becerileriniz sizi kurtarabilir!

Alıntı:Görev
Programlama becerilerinizi test edin! Bir C ++ veya Python kodlama mücadelesinde kendinize meydan okumak isteyin ya da bir C # veya Java kodlama mücadelesinde başkalarına nasıl yığıldığınızı görün, doğru yerdesiniz.

Becerilerinizi geliştirecek özel ödüller kazanma şansı için Intergalactic Coding Challenge'a katılın.


   
WWW
Cevapla
#2
Evde zaman imkanı daha geniş olduğundan soruyu daha açıklayıcı yazma imkanım oldu. 

Galaxy Wanderer adlı bir uzay aracının kaptanısınız. Geminin yakıt (plütonyum) kapasitesi 3 birim. Birbirine bağlı bir gezegenden diğer bir gezegene sıçramak için 1 birim yakıta ihtiyacınız var. (Birbirine bağlı olmayan gezegenler arasında sıçrama yapamıyorsunuz.) Sıçrama yaptığınız bazı gezegenlerde sınırsız plütonyum madeni var. Her defasında depoyu fulleyebilirsiniz.

Gezegen haritası ve bu gezegenlerde plütonyum olup olmadığı size veriliyor ve bu bilgilere göre başlangıç noktasından başlayarak gidebileceğiniz olası bütün gezegenlerin sayısının kaç olduğunu hesap eden bir metod yazmanızı istiyorlar. 


function gezegenSayisiHesapla(T:Array Of Integer; B:Array Of Boolean):Integer
begin
 //çözüm
end; 

N (Gezegen Sayisi) : 1 ile 100.000 arasında olabilir. 
T (Gezegen dizisi) :  0 ile N-1 arasında tam sayıdır.
B (Gezegen plütonyum durumu)  : 0 ile N-1 arasında boolean bir değerdir.


başlangıç noktası ve bağlantı noktaları

T[P] = Q  ve P = Q ise P başlangıç noktasıdır. (1. formül)
T[P] = Q  ve P <> Q ise P ile Q gezegenleri arasında bağlantı vardır. (2. formül)

plütonyum durumu

B[P] = true ise P gezegeninde sınırsız plütonyum vardır
B[P] = false ise P gezegeninde plütonyum yoktur.

Örnek 1 :

T = [9, 1, 4, 9, 0, 4, 8, 1, 0, 7] 
B = [false,true,false,false,false,false,false,true,false,false]

T ve B dizileri metoda parametre olarak verildiğinde sonuç olarak 7 değeri dönmelidir.

Başlangıç noktası T nin 1. elemanının değeri 1 olduğu için 1 nolu gezegendir. T[1] = 1 
B dizisinin 1 ve 7. elemanlarının değeri true olduğu için 1 ve 7 nolu gezegenlerde sınırsız plütonyum madeni vardır. 

1. formülü kullanarak T[1] = 1 olduğu için 1 nolu gezegen başlangıç noktamız oluyor.
2. formülü kullanarak aşağıda ki şekilde gezegenler arasındaki bağlantıları oluşturuyoruz.

B dizisi ile de hangi gezegenlerde plütonyum madeni olduğunu belirliyoruz. 

   

1 nolu gezegenden başlayarak gidebileceğimiz gezegenler 0,1,3,4,7,8 ve 9 nolu gezegenlerdir. Toplam gezegen adeti de 7 dir.

Örnek 2 :

T = [0, 0, 1, 2, 3] 

B = [false,false,false,false,false]

T ve B dizileri metoda parametre olarak verildiğinde sonuç olarak 1 değeri dönmelidir.

Başlangıç noktası 0 nolu gezegendir. 0 nolu gezegende plütonyum madeni olmadığı için bağlantılı gezegene sıçramak için gerekli olan yakıt temin edilememektedir.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  1965-2019 arası programlama dillerinin popülerliği csunguray 6 310 14-10-2019, Saat: 15:40
Son Yorum: csunguray
  Kodlama öğrenerek oyun yazan çocukların hikayesi ozcanm 1 691 12-12-2017, Saat: 22:08
Son Yorum: Halil Han Badem
  Kodlama Dersi 1. Sınıflarda Zorunlu Olsun! SimaWB 30 6.074 18-01-2017, Saat: 10:53
Son Yorum: Tuğrul HELVACI



Konuyu Okuyanlar: 1 Ziyaretçi