柿子饼同学 发表于 2022-7-18 21:38:31

表达式求值

本帖最后由 柿子饼同学 于 2022-7-18 22:26 编辑

这道题通过余数的方法 , 但是为什么要记录出现的次数很不解 , 求解答, 下面有题解代码

输入输出 :
10
B 2
E 5
S 7
I 10
O 16
M 19
B 3
G 1
I 9
M 2
2
解释: n<=500,赋值的数字∈[-1e5,1e5]

样例解释:

(B,E,S,I,G,O,M)=(2, 5, 7, 9, 1, 16, 19)=(2, 5, 7, 9, 1, 16, 2)
题解 : #include <bits/stdc++.h>
#define int long long
using namespace std;
int m,n,ans;
signed main() {
        cin >> n;
        for(int i=1; i<=n; i++) {
                char c; int v;
                cin >> c >> v;
                m[(v%7+7)%7]++;
        }
        for(int B=0; B<7; B++)
        for(int E=0; E<7; E++)
        for(int G=0; G<7; G++)
        for(int I=0; I<7; I++)
        for(int M=0; M<7; M++)
        for(int O=0; O<7; O++)
        for(int S=0; S<7; S++)
        if(((B+E+S+S+I+E)*(G+O+E+S)*(M+O+O))%7==0)
        ans+=m['B']*m['E']*m['G']*m['I']*m['M']*m['O']*m['S'];
        cout << ans << endl;
        return 0;
}
求解 {:10_266:}

kkl44stupid 发表于 2022-7-20 19:32:01

{:10_256:}

黎羽轩 发表于 2022-7-21 11:30:33

{:10_257:}

BGM在逃123 发表于 2022-7-24 06:15:08

{:10_257:}

kerln888 发表于 2022-7-24 09:04:46

看不懂{:10_266:}{:10_266:}

2022xsy 发表于 2022-7-24 15:39:08

{:10_249:}

陈尚涵 发表于 2022-8-20 08:38:58

你好像理解错了
页: [1]
查看完整版本: 表达式求值