Limiti: 1 sekund Xotira limiti: 64 mb
Download 116.58 Kb.
|
9-tajriba Algaritm
- Bu sahifa navigatsiya:
- Kiruvchima`luotlar
- Chiquvchi ma`lumotlar
2-Topshiriq Y2-o`nalis2h limiti: 1 sekund Xotira limiti: 64 MB Shohruh o`qishdan tashqari juda ko`plab joylardai shlaydi. U yashayotgan joyda N ta shahar bo`lib, har bir shahardan qolgan hamma shaharga borsa bo`ladi. Shohruhning uyi V – shaharda joylashgan. U ertalab uyidan chiqishdan oldin boradigan joylarini ro`yxatini tuzadi. Uning ro`yxati bo`yicha u T ta joyga berilgan tartibda borishi kerak. Buning uchun u oldin X – shaharga borib kerakli narsalarni oladi va keyin Y – shaharga o`tadi. Shohruh vaqtni juda qadrlagani sabab rejadagi joylarni hammasiga minimal vaqtda borishni rejalashtirmoqda. Sizning vazifangiz Shohruh qancha vaqtini yo`lda o`tkazganini topishdan iborat. Kiruvchima`luotlar N – shaharlarsoni(1≤N≤100). N x N lik matritsa orqali shaharlarning bog`lanishi beriladi. 0 bo`lsa bog`lanish yo`q. Aks holda ikki shahar orasidagi o`tish vaqti berilgan bo`ladi. Qiymati 106 dan oshmaydi. V – Shohruhning uyi joylashgan shahar T(1≤T≤100) – Shohruhning rejalashtirgan joylari soni Keyin T ta qatorda X va Y (1≤X,Y≤N)sonlar beriladi Chiquvchi ma`lumotlar: Shohruhning yo`lda yo`qotgan minimal vaqtini chiqaring
#include using namespace std; long long INF = 1e18; int n; int d[101][101]; int main() { cin >> n; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) cin >> d[i][j]; for (int k=1; k<=n; ++k) for (int i=1; i<=n; ++i) for (int j=1; j<=n; ++j) d[i][j] = min (d[i][j], d[i][k] + d[k][j]); for (int k=1; k<=n; ++k) for (int i=1; i<=n; ++i) for (int j=1; j<=n; ++j) if (d[i][k] < INF && d[k][j] < INF) d[i][j] = min (d[i][j], d[i][k] + d[k][j]); int v,T;
long long s = 0; while(T--){ int x,y; cin >> x >> y; s = s + d[x][y]; } cout < Download 116.58 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling