Şimdi Ara

En kısa süre hesaplama algoritması yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
12
Cevap
1
Favori
667
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba. C# ile bir algoritma yazmam gerekiyor ama işin içinden çıkamadım. Şu şekilde n sayıda kişimiz var ve her birinin karşıya geçme süreleri farklı. Her seferinde 2 kişi birlikte geçiyor ve 1kişi geri dönüyor. Hepsinin karşıya geçeceği min süreyi hesaplamam gerekiyor. Aslında şu sorunun n sayıda kişi ile ve farklı sürelerde olan hali: 4 kişi var. Bunlar karşıya 1 2 5 ve 10 dakikada geçiyor ve yavaş olanın hızı ile geçiyorlar. En kısa sürede nasıl geçerler. Merak edenler için cevap da 17 dakika. 1 ve 2 geçer. 1 geri döner 5 ve 10 geçer. 2 geri döner. 1 ve 2 geçer.



  • Hangi dersin sorusu ve daha fazla elemanlı test verisi var mı?
  • Herhangi bir dersin değil. Evet eleman sayısı tamamen giren kişiye bağlı
  • Hızlıca yazdım kodu, bug olabilir denediğimde çalışıyordu:
            static void Main(string[] args)
    {
    int [] n = new int[4] { 1, 2, 5, 10 };
    var enHizli = n.Min();
    n = n.Where((val, idx) => idx != Array.IndexOf(n, enHizli)).ToArray();
    int gecisSuresi = 0;
    foreach (var i in n) gecisSuresi += i*enHizli;
    Console.WriteLine(gecisSuresi);
    }


    Edit: gidiş hızını götürenle çarpmayı unutmuşum.



    < Bu mesaj bu kişi tarafından değiştirildi patatessiz patso -- 16 Temmuz 2019; 16:27:12 >
  • hocam malesef sayıları değiştirince doğru sonucu vermiyor. örneğin 3lü olduğunda (1,7,8) en hızlı sonuç 16 ancak 15 buluyor.
  • clern C kullanıcısına yanıt
    Ben yapmaya çalıştım ama elimde fazla test datası olmadığı için emin değilim.


    https://paste.ubuntu.com/p/4YhtZWWnt5/
  • www.codeproject.com
    Bridge Crossing Puzzle's Optimal Strategy
    https://www.codeproject.com/Articles/804991/Bridge-Crossing-Puzzles-Optimal-Strategy




  • Daten kullanıcısına yanıt
    hocam 1 7 8 9 denedim 17 1 18 1 19 olarak olunca 26 ediyor ancak program 31 buluyor. sanırım tüm kombinasyonları hesaplayıp en küçüğü seçmekten başka çözüm yok ancak onu da yapamadım.
  • Gökşen PASLI G kullanıcısına yanıt
    Adam bitirmiş olayı. Keşke kendi başıma düşünebilseydim tüm bunları.
  • Gökşen PASLI G kullanıcısına yanıt
    saygı duydum. yapmışım da haberim yokmuş. ilk önce örnek problemden reservation algoritmasını yazdım. daha sonra 1 7 8 9 verip obvious solution'la bu teoriyi çürüttüğümü ve yanlış olduğunu sandım o yüzden işin içinden çıkamamıştım. oysa ki ikisi de olası çözümlermiş ve kısa olan doğruymuş...
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.