他们要我添加东西 我知道要添加什么。这条线路是一种废物。 建议我编辑
的#include 使用namespace std;
typedef long long lli;
lli mod = 1000000007;
int n;
char a[200000 + 10];
lli dp[200000 + 10][9];
lli solve(int pos, int rem)
{
if (pos == n) //**HERE**
return (rem == 0);
if (dp[pos][rem] != -1)
return dp[pos][rem];
dp[pos][rem] = 0;
if (pos + 1 <= n)
dp[pos][rem] = solve(pos + 1, (rem * 10 + (a[pos] - '0')) % 8);
if (pos + 1 <= n)
dp[pos][rem] += solve(pos + 1, rem);
dp[pos][rem] %= mod;
return dp[pos][rem];
}
答案 0 :(得分:1)
rem==0
返回true或false,
例如:
rem=5;
rem=rem-5;
if(a==0)
cout<<"YES";
而
rem=0;
使rem变量的值为0.
答案 1 :(得分:1)
rem == 0
检查rem
操作数的值是否等于Zero
,如果yes
则条件变为真。
rem=0;
Simple从右侧操作数到左侧操作数分配值。
答案 2 :(得分:1)
&#39; ==&#39;之间存在很大差异。和&#39; =&#39;运营商。
&#39; ==&#39;是一个关系运营商
它检查两个操作数的值是否相等。如果是,则条件变为真,否则变为假。
POSSIBLE USE
1. In if else loops
&#39; =&#39;是指派操作员
它将右侧操作数的值分配给左侧操作数。
POSSIBLE USE
1. During variable declaration and value assignment
答案 3 :(得分:0)
2之间的差异是赋值运算符和比较运算符之间的差异。
rem == 0
是比较运算符的示例,因为正在进行比较以查看rem的值是否为零。在这种情况下, NOT 将rem设置为零!
如果rem等于零,则代码中的以下行:
return (rem == 0);
与
相同 return true; // or return 1, both mean the same thing in the bool expression. It returns true as the statement is true
然而如果不的话,那个rem不等于0,那么:
return (rem == 0);
将与:
相同 return false; // or return 0, because the statement is false because rem is not equal to 0
继续rem = 0
所做的是,它只是在等号(即rem)左边的变量上指定等号右边的值(即0)。这句话没有比较;它仅用于分配值。