1. 小红的签到题
现在小红希望你写出一个长度为 nnn 的、使用了下划线命名法命名的变量。为了显出特征,请保证该变量至少由两个单词组成。
输入描述:
输入一个正整数 n(3≦n≦100),代表需要构造的变量长度。
输出描述:
输出一个长度为 n 的字符串,代表你所构造的使用了下划线命名法命名的变量。 如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1
输入
11
输出
kato_megumi
解题思路:根据长度n构造答案
#include<bits/stdc++.h>
using namespace std;
int main(){
int n; cin>>n;
cout<<"f_"<<string(n-2,'f')<<endl;
}
2. 小红的模拟题
给定一个 n 行 m 列的网格,我们使用 (i,j) 表示网格中从上往下数第 i 行和从左往右数第 j 列的格子。小红现在位于 (1,1),准备前往 (n,m)。
然而,不是所有的格子都是可以通行的,有且恰有一个格子是陷阱格,一旦小红踏入陷阱格,就会直接去逝。保证这个陷阱格不会出现在 (1,1)和 (n,m)。
小红每一步只能向右或者向下前进。请你帮小红规划一条行动路线,使得她可以顺利到达 (n,m)。
行动路线为一个仅由字符 ‘D’、‘S’ 构成的字符串 s,第 i个字符代表小红第 i 次行动的方向。记第 iii 次行动前小红位于 (x,y),则:
,若si=‘D’,则小红向右移动一格即抵达 (x,y+1);
,若si=‘S’,则小红向下移动一格即抵达(x+1,y)。
解题思路:由于陷阱只有一个, 从(1,1) 到 (n,m), 特殊情况一种是往右n-1步, 往下走m-1步, 另一种是往下走m-1步, 往右走n-1步, 陷阱最多只会出现在上述两条路径中的一条之中, 所以依次探测即可
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<string> grid(n);
for(int i=0;i<n;i++) cin>>grid[i];
bool f1=true;
for(int i=1;i<n;i++){
if(grid[i][0]=='#') f1=false;
}
for(int j=1;j<m;j++){
if(grid[n-1][j]=='#') f1=false;
}
if(f1){
for(int i=1;i<n;i++) cout<<'S';
for(int j=1;j<m;j++) cout<<'D';
return 0;
}
bool f2=true;
for(in

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



