T1:Mixing Milk
题目分析:
这是一道模拟题,通过for循环模拟倒牛奶的过程
正确代码:
#include<bits/stdc++.h>
using namespace std;
int c[4],m[4];
int main() {
for(int x=1; x<=3; x++)cin>>c[x]>>m[x];
for(int x=1; x<=100; x++) {
int f=(x-1)%3+1,s;
if(f==3)s=1;
else s=f+1;
int mi=min(c[s]-m[s],m[f]);
m[f]-=mi;
m[s]+=mi;
}
cout<<m[1]<<endl<<m[2]<<endl<<m[3];
return 0;
}
错因:
未开long long
T2:Convention S
题目分析:
这是一道二分答案的题,通过二分寻找最大时间的最小值
正确代码:
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main() {
int n,m,c;cin>>n>>m>>c;
for(int i=1; i<=n; i++) cin>>a[i];
sort(a+1,a+n+1);
int l=0,r=a[n]-a[1];
while(l<r) {
int mid=(l+r)/2,cnt=1,sum=1;
for(int i=1; i<=n; i++)
if(a[i]-a[sum]>mid||i-sum+1>c) {
cnt++;
sum=i;
}
if(cnt<=m)r=mid;
else l=mid+1;
}
cout<<l;
return 0;
}
错因:
思路错误,以为是模拟题
T3:Mooyo Mooyo S
题目分析:
这是一道关于dfs联通块的问题,在消除相同的数后下落
正确代码:
#include<bits/stdc++.h>
using namespace std;
int n,k;
char a[105][105];
int vis[105][105],s,dx[5]= {0,0,0,1,-1},dy[5]= {0,1,-1,0,0};
void dfs(int x,int y,char t) {
s++;
vis[x][y]=1;
for(int i=1; i<=4; i++) {
int nx=x+dx[i],ny=y+dy[i];
if(nx<1||nx>n||ny<1||ny>10||vis[nx][ny]||a[nx][ny]!=t) continue;
dfs(nx,ny,t);
}
}
int main() {
cin>>n>>k;
for(int i=1; i<=n; i++) for(int j=1; j<=10; j++) cin>>a[i][j];
while(1) {
int f=0;
for(int i=1; i<=n; i++) {
for(int j=1; j<=10; j++) {
if(a[i][j]!='0') {
for(int i=1; i<=n; i++) for(int j=1; j<=10; j++) vis[i][j]=0;
s=0;
dfs(i,j,a[i][j]);
if(s>=k) {
f=1;
for(int k=1; k<=n; k++) for(int l=1; l<=10; l++) if(vis[k][l]) a[k][l]='0';
}
}
}
}
for(int i=1; i<=10; i++) {
for(int j=n; j>=1; j--) {
if(a[j][i]=='0') {
int tp=0;
for(int k=j-1; k>=1; k--) {
if(a[k][i]!='0') {
tp=k;
break;
}
}
if(tp!=0) a[j][i]=a[tp][i],a[tp][i]='0';
}
}
}
if(!f) break;
}
for(int i=1; i<=n; i++) {
for(int j=1; j<=10; j++) cout<<a[i][j];
cout<<endl;
}
return 0;
}
错因:
下落代码错误
T4:道路修建
题目分析:
这是一道关于树的题,通过求每一个点的两个子树的大小只差的绝对值乘道路的长度最后想家求总费用
正确代码:
无(没改出来,不知为和一直错)
总结:
优点:
1.T1代码实现正确
缺点:
1.未看数据范围
2.做题思路错误
3.代码基础不扎实
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 信竞2024年csp-j模拟赛第二场赛后总结
发表评论 取消回复