#2不是TLE就是WA
查看原帖
#2不是TLE就是WA
794484
huanglihuan楼主2023/12/21 15:39

TLE:

#include <bits/stdc++.h>
#define int long long
#define ull unsigned long long
#define mod 998244353
#define MOD 1000000007
using namespace std;

template<typename T>
T jia (T a,T b)
{
    return a + b;
}
void solve ()
{
    int l,r;
    cin >> l >> r;
    int ans = 1;
    if (r - l + 1 >= 10) ans = 0;
    for (int i = l;i <= r;i ++)
    {
        int cnt = i;
        while (cnt)
            ans *= cnt % 10,
            cnt /= 10;
    }
    cout << ans % MOD << endl;
}

const int N = 1e5 + 5;

int a [N];

signed main () {
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
    int t;
    cin >> t;
    while (t --)
    {
        solve ();
    }
	return 0;
}

我以为答案为‘0’的情况需要直接 continue 掉,于是…WA:

#include <bits/stdc++.h>
#define int long long
#define ull unsigned long long
#define mod 998244353
#define MOD 1000000007
using namespace std;

template<typename T>
T jia (T a,T b)
{
    return a + b;
}
void solve ()
{
    
}

const int N = 1e5 + 5;

int a [N];

signed main () {
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
    int t;
    cin >> t;
    while (t --)
    {
        int l,r;
        cin >> l >> r;
        int ans = 1;
        if (r - l + 1 >= 10)
        {
            cout << "0\n";
            continue;
        }
        for (int i = l;i <= r;i ++)
        {
            int cnt = i;
            while (cnt)
                ans *= cnt % 10,
                cnt /= 10;
        }
        cout << ans % MOD << endl;
    }
	return 0;
}

2023/12/21 15:39
加载中...