#include <iostream>
#include <vector>
using namespace std;
bool isLeap(int y){
return (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0));
}
signed main(){
string s, cur;
cin >> s;
vector<int> d;
for(int i = 0; i < s.length(); i++){
if(s[i] == '.'){
d.push_back(stoi(cur));
cur.clear();
}
else
cur += s[i];
}
d.push_back(stoi(cur));
int k = d[0];
d[1]--;
while(d[1] > 0){
if(d[1] == 2) k += 28 + isLeap(d[2]);
else if((d[1] < 8 && d[1] % 2 == 1) || (d[1] >= 8 && d[1] % 2 == 0)) k += 31;
else k += 30;
d[1]--;
}
cout << (365 + isLeap(d[2])) - k + 1;
}
1. 11 2. 12 3. 13 4. 18
Дана таблица смежности, исходя из нее, можно построить взвешенный граф:
C
7
5
A 3 7 3 F
B 4 2 E
D
Длина пути во взвешенном (связном) графе — это сумма длин (весов) тех рёбер, из которых состоит путь.
У нас три пути: ABEF, ABCEF и ABDEF. Определим каждую длину пути:
ABEF: 3+7+3=13
ABCEF: 3+7+5+3=18
ABDEF: 3+4+3+2=12
Таким образом, кратчайший путь – ABDEF, равный 12.
ответ: 2
Объяснение: