A秒
#include <bits/stdc++.h>
using namespace std;
int main ()
{
ios::sync_with_stdio(false);
int T;
cin>>T;
while(T--)
{
int a,b,c,d;
cin>>a>>b>>c>>d;
cout<<b<<" "<<c<<" "<<c<<endl;
}
return 0;
}
B
#include <bits/stdc++.h>
using namespace std;
int main ()
{
ios::sync_with_stdio(false);
int T;
cin>>T;
while(T--)
{
long long x,a,b,f=0;
cin>>x>>a>>b;
for(int i=0; i<a&&f==0; i++)
{
if(x<=b*10) f=1;
else
{
x/=2;
x+=10;
}
//cout<<x<<endl;
}
if(x<=b*10) f=1;
if(f==0) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
return 0;
}
C
啊啊啊比赛的时候wa了4次,起床之后发现最后一个数组开小了(抓狂)QAQ
#include <bits/stdc++.h>
using namespace std;
vector<int> a[200005],y[200005];
int dis[200005],c[200005],n[200005];
void dist(int p)
{
//cout<<p<<endl;
int len=a[p].size();
for(int i=0; i<len; i++)
{
int t=a[p].back();
a[p].pop_back();
if(dis[t]||t==1) continue;
dis[t]=dis[p]+1;
dist(t);
}
return;
}
void lens(int p)
{
//cout<<p<<endl;
int len=y[p].size();
if(p!=1)
for(int i=0; i<len; i++)
{
int t=y[p].back();
y[p].pop_back();
if(c[t]!=1||t==1) continue;
c[p]++;
lens(t);
c[p]+=c[t]-1;
}
else
{
for(int i=0; i<len; i++)
{
int t=y[p].back();
y[p].pop_back();
if(t==1) continue;
lens(t);
c[p]+=c[t];
}
}
}
struct rule
{
bool operator()(const &a1,const &a2) const
{
return dis[a1]-c[a1]>dis[a2]-c[a2];
}
};
int main ()
{
ios::sync_with_stdio(false);
int T;
//cin>>T;
//while(T--)
//{
int x,k,t,b;
long long sum=0;
cin>>x>>k;
for(int i=0; i<x-1; i++)
{
cin>>t>>b;
a[t].push_back(b);
a[b].push_back(t);
y[t].push_back(b);
y[b].push_back(t);
}
for(int i=1; i<=x; i++)
{
dis[i]=0;
c[i]=1;
n[i]=i;
}
c[1]=0;
dist(1);
lens(1);
for(int i=2; i<x+1; i++)
c[i]--;
sort(n+1,n+1+x,rule());
//for(int j=1; j<=x; j++)
//cout<<n[j]<<" "<<dis[n[j]]-c[n[j]]<<endl;
for(int i=1; i<=k; i++)
sum+=dis[n[i]]-c[n[i]];
cout<<sum<<endl;
//}
return 0;
}