错题1 错题:章节一 T001

错因:写完代码后没有检查一遍代码书写,如:include拼错了,cout写太快顺序反了.

正确思路:将n,m边上需装的瓷砖个数相乘.

参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,m,a,s=0;
    cin>>n>>m>>a;
    for(int i=1;i<=m;i++){
        if(a*i>=m){
            s=i;
            break;
        }
    }
    for(int i=1;i<=n;i++){
        if(a*i>=n){
            s*=i;
            break;
        }
    }
    cout<<s;
    return 0;
}

错题2 错题:章节一 T009

错因:想的太复杂,把自己绕晕了.

正确思路:只需将6种情况分别进行判断即可.

参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int y,w,a;
	cin>>y>>w;
	if(y>w){
		a=y;
	}else if(w>y){
		a=w;
	}else{
		a=y;
	}
	a--;
	if(a==0){
		cout<<1<<'/'<<1;
	}else if(a==1){
		cout<<5<<'/'<<6;
	}else if(a==2){
		cout<<2<<'/'<<3;
	}else if(a==3){
		cout<<1<<'/'<<2;
	}else if(a==4){
		cout<<1<<'/'<<3;
	}else{
		cout<<1<<'/'<<6;
	}
}

错题3 错题:章节一 T003

错因:没弄清楚顶层逻辑和题目意思(即题目要求最优解).

正确思路:从第二种情况的分支中来判断最优解.

错题4 错题:章节一 T004

错因:思路太复杂,导致代码书写时出现了错误.

正确思路:只需思考生命值之和是否为9(6+3)的倍数且确保单个怪物能撑到每轮AOE伤害时.

参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[100001],b[100001],c[100001],t,n;
    cin>>t;
    for(int i=0;i<t;i++){
        cin>>a[i]>>b[i]>>c[i];
    }
    for(int i=0;i<t;i++){
    	n=a[i]+b[i]+c[i];
        if(n%9==0&&a[i]>=(n/9)&&b[i]>=(n/9)&&c[i]>=(n/9)){
            cout<<"YES"<<endl;
        }else{
            cout<<"NO"<<endl;
        }
    }

}

错题5 错题:章节一 T007

错因:三模式及个变量关系混淆.

正确思路:换图理清思路,了解三模式之间的关系.

参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,p1,p2,p3,t1,t2,l[1441],r[1441],v[1441],s=0;
    cin>>n>>p1>>p2>>p3>>t1>>t2;
    for(int i=0;i<n;i++){
        cin>>l[i]>>r[i];
    }
    for(int i=0;i<n;i++){
        v[i]=r[i]-l[i];
    }
    for(int i=0;i<n;i++){
        s+=v[i]*p1;
        if(i!=n-1){
            int e=l[i+1]-r[i];
            if(e>t1){
                if(e>t1+t2){
                    s+=t1*p1;
                    s+=t2*p2;
                    s+=(e-t1-t2)*p3;
                }else{
                	s+=t1*p1;
                    s+=(e-t1)*p2;
                }
            }else{
                s+=e*p1;
            }
        }
    }
    cout<<s;
    return 0;
}