求助!急!!!

P1618 三连击(升级版)

DreamCHN @ 2023-09-02 14:50:08

谁能帮忙看一下???

Subtask#1的第一个数据点是RE,但就是不知道哪里错了,哪位大神能帮我改正一下???

#include<iostream>
#include<cstring>
using namespace std;

int nums[10];
bool check(int x){
    int a = x / 100;
    int b = (x / 10) % 10;
    int c = x % 10;
    if(a == b || a == c || b == c || !a || !b || !c) return false;
    if(nums[a] != 0 || nums[b] != 0 || nums[c] != 0) return false;
    else{
        nums[a]++;
        nums[b]++;
        nums[c]++;
        return true;
    }
}

int main(){
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    bool flag = false;
    for(int i = 123;i < 330;i++){
        memset(nums, 0, sizeof nums);
        if(!check(i)) continue;          
        if(i * b / a > 987 || i * c / a > 987) break;
        if(check(i * b / a) && check(i * c / a)){
            flag = true;
            printf("%d %d %d\n", i, i * b / a, i * c / a); 
        }
    }
    if(!flag) cout << "No!!!" << endl;
    return 0; 
}

by xiaoyang111 @ 2023-09-02 14:57:04

那个测试点什么都没有输入


by xiaoyang111 @ 2023-09-02 14:58:24

这个我也不知道怎么搞


by 朱梓煊ZZX @ 2023-09-02 15:00:34

a作为被除数可能为0,才RE 应该要特判下为0的情况


by BugGod @ 2023-09-02 15:01:19

@DreamCHN 特判除数是0应该就行了。


by 朱梓煊ZZX @ 2023-09-02 15:01:48

写错了,a是除数


by 朱梓煊ZZX @ 2023-09-02 15:03:23

@DreamCHN


by Erica_N_Contina @ 2023-09-02 15:03:55

Subtask#1 测试点数据为 0 1 2,要特判


by DreamCHN @ 2023-09-02 15:05:48

@xiaoyang111 我下载了,输入是0 1 2,输出是NO!!!


by rnf5114 @ 2023-09-02 15:24:38

@DreamCHN 那是本地编辑器,线上编辑器是不允许这种东西出现的


by xiaoyang111 @ 2023-09-02 15:40:19

哦开始我开数据的时候开错文件了,开成我的题的数据了,对不起


|