CSP-S2025 游寄
文章末尾有彩蛋,是回学校后观察坐在我机位考试的人的代码,真的绷不住了!\
又是在福建师大附中考,先找到
T1
信心满满开 -O2 -std=c++14 报错了?\
不知道,那就关掉。\
为什么一直报 priority_queue也没有拼错,仔细翻阅后。\
using namespace std;消失了。\
美美过题,调
T2
啊,果然是我最不擅长的图论,既然放在第二题,肯定还是可以看一看的吧。\
嗯,肯定要用到最小生成树吧,然后呢,消耗
T3(1)
虽说过了前面两题,看到字符串题,我真是服了!\
怎么图论和字符串都考啊,我真的不会了啊!\
抱着幻想看一眼,算了,不会,打个交暴力先,看看特殊性质,嗯,秒不掉,看看下一题。
T4(1)
哦,我恨计数!\
直接写一个 大样例没过想太简单了。\
诶?
T3(2)
尝试优化暴力,尝试哈希,尝试
T4(2)
突然,铃声响了,看了眼时间,才六点,不应该啊。\
哦,清校铃啊,那没事了。\
当心眼睛!\
沟槽的初中生又在发力了,我没有看他的电脑,但是能感受到旁边的电脑在以5赫兹的频率闪烁,眼睛瞎了。\
感觉
千万不要挂分啊!!!\
100+100+
彩蛋
::::success[T1 0分不知是否正确代码]
#include <bits/stdc++.h>
using namespace std;
int a1[100010],a2[100010],a3[100010];
int main()
{
int t;
cin>>t;
int y=0,s=0,e=0;
bool f=true;
while(t--)
{
int n;
cin>>n;
int ans=0;
for(int i=1;i<=n;i++)
{
cin>>a1[i]>>a2[i]>>a3[i];
}
for(int i=1;i<=n;i++)
{
if(a1[i]>=a2[i]&&a1[i]>=a3[i])
y++;
else if(a2[i]>=a1[i]&&a2[i]>=a3[i])
e++;
else
s++;
}
for(int i=1;i<=n;i++)
{
if(y<=n/2&&e<=n/2&&s<=n/2)
{
int g=max(a1[i],a2[i]);
ans+=max(g,a3[i]);
}
if(y>n/2)
{
if(a2[i]>=a3[i])
{
e++;
if(e>n/2)
{
ans+=a3[i];
}
ans+=a2[i];
}
ans+=a1[n-i+1];
}
else if(e>n/2)
{
if(a1[i]>=a3[i])
{
y++;
if(y>n/2)
{
ans+=a3[i];
}
ans+=a1[i];
}
ans+=a2[n-i+1];
}
else if(s>n/2)
{
if(a2[i]>=a1[i])
{
y++;
if(y>n/2)
{
ans+=a1[i];
}
ans+=a2[i];
}
}
}
freopen("club.in","r",stdin);
freopen("club.out","w",stdout);
cout<<ans<<endl;
y=0,s=0,e=0;
}
return 0;
}
:::: ::::success[T2 0分不知是否正确代码]
#include <bits/stdc++.h>
using namespace std;
int v[1000010],u[1000010],w[1000010],c[10010],a[10010];
int main()
{
int n,m,k;
cin>>n>>m>>k;
for(int i=1;i<=m;i++)
{
cin>>u[i]>>v[i]>>w[i];
}
for(int i=1;i<=k;i++)
{
cin>>c[i];
for(int j=1;j<=n;j++)
{
cin>>a[j];
}
}
//freopen("road.in","r",stdin);
//freopen("road.out","w",stdout);
int minv=2e9,minx=2e9,minc=2e9;
int ans=0;
for(int i=1;i<=m;i++)
{
minv=min(minv,w[i]);
ans+=minv;
}
for(int i=1;i<=k;i++)
{
minc=min(minc,c[i]);
ans+=minc;
for(int j=1;j<=n;j++)
{
minx=min(minx,a[j]);
ans+=minx;
}
}
cout<<ans%10*10+ans/10;
return 0;
}
:::: ::::success[T3 0分不知是否正确代码]
#include <bits/stdc++.h>
using namespace std;
int a[510];
int main()
{
int n,m;
cin>>n>>m;
string s;
cin>>s;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int cnt=0,ans=0;
// freopen("replace.in","r",stdin);
// freopen("replace.out","w",stdout);
sort(a,a+n);
for(int i=0;i<n;i++)
{
if(s[i]=='0')
{
a[i]=0;
a[i+1]--;
}
if(a[i]>0)
{
cnt++;
}
if(cnt>=m)
{
ans++;
}
}
cout<<ans*cnt;
return 0;
}
::::
::::success[T4 唯一freopen正确代码]
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("employ.in","r",stdin);
freopen("employ.out","w",stdout);
return 0;
}
::::