#include<bits/stdc++.h>usingnamespace std;intmain(){int hh, mm, ss;longlongint n;
cin>>n;// 因为不需要考虑毫秒,所以直接舍去
n /=1000;
hh =(n/(60*60))%24;
n -= n/(60*60)*(60*60);
mm =(n/60)%12;
n -= n/60*60;
ss = n %60;printf("%02d:%02d:%02d", hh, mm, ss);return0;}
G.砝码称重
#include<bits/stdc++.h>usingnamespace std;
unordered_set<int> se;int n, a[100000];voiddfs(int index,int val){if(index <0)return;if(val >0) se.insert(val);// 一步一步往下dfs(index-1, val - a[index-1]);dfs(index-1, val + a[index-1]);// 隔级隔级往下for(int i=2;i<index+1;i++){dfs(index-i, val + a[index-i]);}}intmain(){
cin>>n;for(int i=0; i<n; i++) cin>>a[i];sort(a, a+n);for(int i=0;i<n;i++){dfs(i, a[i]);}// 输出检验// unordered_set<int>::iterator si;// for(si=se.begin();si!=se.end();si++){// cout<<*si<<" ";// }// cout<<endl;
cout<<se.size()<<endl;return0;}
H.杨辉三角形
#include<bits/stdc++.h>usingnamespace std;// N是一个个试的,然后发现20000够了,太大超内存,大小找不到最大的数constint N =20000;int a[N][N];intmain(){int n, s =0;
cin>>n;if(n==1){
cout<<1<<endl;return0;}for(int i=1; i<N;i++){for(int j=1; j<=i; j++){
s++;// 每数一个数就加一if(j ==1|| i==j){
a[i][j]=1;continue;}
a[i][j]= a[i-1][j]+ a[i-1][j-1];if(a[i][j]== n){
cout<<s<<endl;return0;}}}return0;}