#include<iostream>usingnamespace std;typedefstruct{int a, b, c;}Node;intmain(){
Node a, b;scanf("%d.%d.%d",&a.a,&a.b,&a.c);scanf("%d.%d.%d",&b.a,&b.b,&b.c);int i, j, k;
i = a.a + b.a;
j = a.b + b.b;
k = a.c + b.c;if(k >=29){++j;
k -=29;}if(j >=17){++i;
j -=17;}printf("%d.%d.%d", i, j, k);}
A1059 Prime Factors
#include<iostream>#include<cmath>#include<map>#include<algorithm>#definelllonglongusingnamespace std;int isPrime[100010]{};intmain(){
ll n, m;
cin>>n;if(n ==1){
cout<<"1=1";return0;}
m = n;fill(isPrime+2, isPrime+100010,1);for(int i=2; i<50001; i++){for(int j=i*2; j<100001; j+=i){
isPrime[j]=0;}}
map<ll,int> v;for(int i=2;;i++){if(isPrime[i]&& n%i ==0){while(n%i ==0){
v[i]++;
n /= i;}if(n ==1)break;}}
cout<<m<<"=";int flag =0;for(auto&k: v){if(flag) cout<<"*";else flag =1;
cout<<k.first;if(k.second >1)
cout<<"^"<<k.second;}
cout<<endl;}
A1060 Are They Equal
#include<iostream>usingnamespace std;intmain(){int n, na, nb, za =0, zb =0;
string a, b;
cin>>n>>a>>b;
na = a.find('.')>= a.length()?a.length():a.find('.');
nb = b.find('.')>= b.length()?b.length():b.find('.');while(za < a.length()){if(a[za]=='0'|| a[za]=='.')
za++;elsebreak;}while(zb < b.length()){if(b[zb]=='0'|| b[zb]=='.')
zb++;elsebreak;}if(za == a.length())
na =0;elseif(a.find('.')<a.length()&& a.find('.')< za)
na = na+1-za;else
na = na-za;if(zb == b.length())
nb =0;elseif(b.find('.')<b.length()&& b.find('.')< zb)
nb = nb+1-zb;else
nb = nb-zb;
string ta ="", tb ="";for(int i=za; i<a.length(); i++){if(a[i]!='.')
ta += a[i];if(ta.length()==n)break;}for(int i=zb; i<b.length(); i++){if(b[i]!='.')
tb += b[i];if(tb.length()==n)break;}while(ta.length()< n)
ta +="0";while(tb.length()< n)
tb +="0";if(na != nb || ta != tb){
cout<<"NO";printf(" 0.%s*10^%d 0.%s*10^%d", ta.c_str(), na, tb.c_str(), nb);}else{
cout<<"YES";printf(" 0.%s*10^%d", ta.c_str(), na);}}
2021 Recycling of Shared Bicycles
#include<iostream>#include<cstdlib>#include<algorithm>usingnamespace std;int spot[201][201]{}, vis[201]{}, map[201][201];intmain(){int n, m;
cin>>n>>m;for(int i=0; i<m; i++){int a, b, dis;
cin>>a>>b>>dis;
spot[a][b]= dis;
spot[b][a]= dis;}fill(map[0], map[0]+201*201,10000);for(int i=0; i<=n; i++){fill(vis, vis+n+1,0);
map[i][i]=0;while(true){int min =-1, mindis =10000;for(int j=0; j<=n; j++){if(map[i][j]< mindis &&!vis[j]){
min = j;
mindis = map[i][j];}}if(min ==-1)break;
vis[min]=1;for(int j=0; j<=n; j++){if(spot[min][j])if(map[i][min]+spot[min][j]< map[i][j]&&!vis[j])
map[i][j]= map[i][min]+ spot[min][j];}}}fill(vis, vis+n+1,0);int visits =0, tmp =0, total =0;while(visits <= n){int min =-1, mindis =10000;for(int i=0; i<=n; i++){if(map[tmp][i]< mindis &&!vis[i]){
min = i;
mindis = map[tmp][i];}}if(min ==-1)break;
total += map[tmp][min];
tmp = min;
visits++;
vis[min]=1;if(min ==0) cout<<0;else cout<<" "<<min;}
cout<<endl;if(visits < n){int flag =0;for(int i=1; i<=n; i++)if(!vis[i]){if(flag) cout<<" ";else flag =1;
cout<<i;}}else
cout<<total;}
A1051 Pop Sequence#include <iostream>#include <stack>using namespace std;int main(){ int m, n, k; cin>>m>>n>>k; for (int i=0; i<k; i++){ stack<int> s; int cur = 1, flag = 0; f