Между населёнными пунктами A, B, C, D, E, F построены дороги. Определи длину кратчайшего пути между пунктами A и F. Передвигаться можно только по дорогам, протяжённость которых указана в таблице
#include <iostream> #include <stdio.h> using namespace std;
int main(){ int y; cin>>y; y=y%12; switch (y){ case 4:{cout<<"Mouse"; break;} case 5:{cout<<"Bull";break;} case 6:{cout<<"Tiger";break;} case 7:{cout<<"Rabbit";break;} case 8:{cout<<"Dragon";break;} case 9:{cout<<"Snake";break;} case 10:{cout<<"Horse";break;} case 11:{cout<<"Goat";break;} case 0:{cout<<"Monkey";break;} case 1:{cout<<"Cock";break;} case 2:{cout<<"Dog";break;} case 3:{cout<<"Pig";break;} } cin.get(); cin.get(); return 0; }
для n в пределах 100-200 считает вроде правильно, и достаточно быстро. Что до больших значений n, мне не хватило терпения. Ненормально это, успеть попить чаю в ожидании конца работы программы в 8 строк.
При желании можно использовать как стресс-тест ЦПУ
#include <stdio.h>
using namespace std;
int main(){
int y;
cin>>y;
y=y%12;
switch (y){
case 4:{cout<<"Mouse"; break;}
case 5:{cout<<"Bull";break;}
case 6:{cout<<"Tiger";break;}
case 7:{cout<<"Rabbit";break;}
case 8:{cout<<"Dragon";break;}
case 9:{cout<<"Snake";break;}
case 10:{cout<<"Horse";break;}
case 11:{cout<<"Goat";break;}
case 0:{cout<<"Monkey";break;}
case 1:{cout<<"Cock";break;}
case 2:{cout<<"Dog";break;}
case 3:{cout<<"Pig";break;}
}
cin.get();
cin.get();
return 0;
}
--- Python 3.8.3 ---
n = int(input('n: \n'))
counter = 0
for coin1 in range(0, n+ 1):
for coin2 in range(0, (n // 2) + 1):
for coin5 in range(0, (n // 5) + 1):
for coin10 in range(0, (n // 10) + 1):
if coin1 * 1 + coin2 * 2 + coin5 * 5 + coin10 * 10 == n: counter += 1
print(counter)
для n в пределах 100-200 считает вроде правильно, и достаточно быстро. Что до больших значений n, мне не хватило терпения. Ненормально это, успеть попить чаю в ожидании конца работы программы в 8 строк.
При желании можно использовать как стресс-тест ЦПУ