c++ - 我的代码在标准输入中显示 4(Coreect),在 USACO 分级机中显示 5645,在 scanf/printf 中显示 1862013874。问题是什么?
问题描述
这是带有 scanf/printf 的 C++ 代码。我使用文件 I/O 运行它,但在我的笔记本电脑上使用 cin/cout 以及命令行 cin/cout。两者都工作得很好。USACO 分级机也没有与这两个一起工作。scanf/printf 也不起作用。(请帮忙,我知道这可能是一个愚蠢的错误)。
#include <cstdio>
#include <cassert>
#include <algorithm>
using namespace std;
using ll = long long;
int main(){
int n, k;
scanf("%d", &n);
scanf("%d", &k);
char s[10];
int gestures[n+1], dp[n+1][k+1][3];
for (int i = 1; i <= n; i++){
scanf("%s", s);
if (s[0]=='H') gestures[i] = 0;
else if (s[0]=='P') gestures[i] = 1;
else gestures[i] = 2;
}
int res = 0;
for (int i = 1; i <= n; i++){
for (int s = 0; s <= k; s++){
for (int p1 = 0; p1 < 3; p1++){
if (n){
dp[i][s][p1] = max(dp[i-1][s-1][(p1+1)%3], dp[i][s][p1]);
dp[i][s][p1] = max(dp[i-1][s-1][(p1+2)%3], dp[i][s][p1]);
}
dp[i][s][p1] = max(dp[i-1][s][p1], dp[i][s][p1]);
dp[i][s][p1] += (p1==gestures[i]);
if (i==n) res = max(res, dp[i][s][p1]);
}
}
}
printf("%d\n", res);
}
解决方案
推荐阅读
- html - jQuery 函数切换
- reactjs - Jest 在 React 测试中遇到了一个意外的标记
- laravel - 如何优化循环,使用流明从另一个 API 获取数据
- python-3.x - 手动重试 Databricks 工作流任务
- php - 没有收到来自 Laravel 8 的邮件
- mongodb - 获取 Mongo 集合字段的值代替 ObjectId
- unity3d - 为什么 Motion Blur 后期处理效果在 Unity (mac) 中不起作用?
- azure - 错误:Azure 逻辑应用程序在读取 Azure Blob 存储时抛出错误 | 状态 400 - 指定的资源名称包含无效字符
- json - snapshot.hasData 为 true 但 snapshot.data.length 为空,Flutter
- java - 如何在会话失效时删除 JSESSIONID cookie