c_cpp 跳马里奥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 跳马里奥相关的知识,希望对你有一定的参考价值。
#include <algorithm>
#include <iostream>
#include <numeric>
#include <tuple>
#include <vector>
using namespace std;
tuple<int, int> count_jumps(const vector<int> &walls)
{
vector<int> jumps(walls.size());
adjacent_difference(walls.begin(), walls.end(), jumps.begin());
return {
count_if(jumps.begin() + 1, jumps.end(), [](int x) { return x > 0; }),
count_if(jumps.begin() + 1, jumps.end(), [](int x) { return x < 0; })
};
}
void test_case(int case_num)
{
int n;
cin >> n;
vector<int> walls(n);
for (auto &w : walls) cin >> w;
int high_jumps, low_jumps;
tie(high_jumps, low_jumps) = count_jumps(walls);
cout << "Case " << case_num << ": " << high_jumps << " " << low_jumps << endl;
}
int main()
{
int t;
cin >> t;
for (int i = 1; i <= t; i++) test_case(i);
return 0;
}
以上是关于c_cpp 跳马里奥的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 第1周马里奥1
1216 跳马问题
回溯8--跳马问题
cogs——49. 跳马问题
code vs 1216 跳马问题
国际象棋之跳马程序