鱼C论坛

 找回密码
 立即注册
查看: 1179|回复: 14

[已解决]梦想星际舰队第9关 && FCOI #7 第二题重定向题解【原创】

[复制链接]
发表于 2023-8-20 17:41:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zhangjinxuan 于 2023-8-20 17:56 编辑


梦想星际舰队第9关 && FCOI #7 题解


第二题:重定向

题目描述
由于 zhangjinxuan 在 FCR6 中没有加 freopen,导致原本的 400 分变成了 0 分。

zhangjinxuan 很不爽,想要做出一个可以自动写出 freopen 的代码的程序。

现在有一个字符串 S,表示题目名。

而输入文件就是将 S 和 .in 拼接,输出文件就是将 S 和 .out 拼接。

请你输出关于 freopen 的代码。

具体格式见样例。

输入格式
一个字符串S

输出格式
见样例。


输入输出样例
输入 #1
clock
输出 #1
freopen("clock.in","r",stdin);
freopen("clock.out","w",stdout);
输入 #2
a
输出 #2
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
输入 #3
cspmustfreopen
输出 #3
freopen("cspmustfreopen.in","r",stdin);
freopen("cspmustfreopen.out","w",stdout);


数据范围
1≤|S|≤2×10^5

S 由小写英文字母构成。

其他说明
本题目为 zhangjinxuan 原创题目。
测试链接:https://www.luogu.com.cn/problem/U321902


答案与解析
游客,如果您要查看本帖隐藏内容请回复
[/hide]

最佳战士排行榜
游客,如果您要查看本帖隐藏内容请回复
[/hide]
最佳答案
2023-8-20 17:42:12
根据题目描述,我们需要根据输入的字符串S生成关于 freopen 的代码。根据题目要求,输入文件名是将S和".in"拼接,输出文件名是将S和".out"拼接。

因此,我们只需要将输入的字符串S与固定的字符串".in"和".out"进行拼接,并将结果输出即可。

以下是解决方案的代码示例:
#include <iostream>
#include <string>
using namespace std;

int main() {
    string S;
    cin >> S;

    cout << "freopen("" << S << ".in","r",stdin);" << endl;
    cout << "freopen("" << S << ".out","w",stdout);" << endl;

    return 0;
}

希望能够帮助到您!

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-20 17:42:12 | 显示全部楼层    本楼为最佳答案   
根据题目描述,我们需要根据输入的字符串S生成关于 freopen 的代码。根据题目要求,输入文件名是将S和".in"拼接,输出文件名是将S和".out"拼接。

因此,我们只需要将输入的字符串S与固定的字符串".in"和".out"进行拼接,并将结果输出即可。

以下是解决方案的代码示例:
#include <iostream>
#include <string>
using namespace std;

int main() {
    string S;
    cin >> S;

    cout << "freopen("" << S << ".in","r",stdin);" << endl;
    cout << "freopen("" << S << ".out","w",stdout);" << endl;

    return 0;
}

希望能够帮助到您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 17:42:21 | 显示全部楼层
根据题目描述,这道题目要求根据给定的字符串S,生成关于 freopen 的代码,用于将输入文件和输出文件与程序进行重定向。

以下是根据您提供的样例进行的代码实现:
def generate_freopen_code(S):
    input_file = S + ".in"
    output_file = S + ".out"
    code = 'freopen("{0}","r",stdin);\nfreopen("{1}","w",stdout);'.format(input_file, output_file)
    return code

S = input()
result = generate_freopen_code(S)
print(result)

希望对您有所帮助!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 17:43:03 | 显示全部楼层
kankan
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 17:43:12 | 显示全部楼层

#include <cstdio>

char s[2000003];

int main() {
        scanf("%s", s + 1);
        printf("freopen("%s.in","r",stdin);\n", s + 1);
        fflush(stdout);
        printf("freopen("%s.out","w",stdout);\n", s + 1);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-20 17:44:16 | 显示全部楼层
woc,这bbcode好恶心,反斜杠bug好烦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 17:47:14 | 显示全部楼层
根据题目描述,要求根据输入的字符串S生成关于 freopen 的代码,将输入文件名和输出文件名与程序进行重定向。给出了一个C++代码示例,使用cout和字符串拼接的方式生成输出。

以下是使用Python代码实现的解决方案:
S = input()
code = 'freopen("{0}.in","r",stdin);\nfreopen("{0}.out","w",stdout);'.format(S)
print(code)

希望对您有所帮助!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 17:47:24 | 显示全部楼层
#include <bits/stdc++.h>
using namespace std;

int main() {
    string a;
    cin >> a;
    cout << "freopen("" << a << ".in","r",stdin);" << endl;
    cout << "freopen("" << a << ".out","w",stdout);" << endl;

    return 0;
}

评分

参与人数 1荣誉 +3 鱼币 +2 收起 理由
zhangjinxuan + 3 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 18:00:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-20 18:01:31 | 显示全部楼层
不记录是什么意思?不加rating吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 18:08:20 | 显示全部楼层
var s: string;

begin
  readln(s);
  writeln('freopen("',s,'","r",stdin);');
  writeln('freopen("',s,'.out","w",stdout);');
end.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-8-20 18:13:27 | 显示全部楼层
最佳给脚本没意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-20 18:16:24 | 显示全部楼层
sfqxx 发表于 2023-8-20 18:01
不记录是什么意思?不加rating吗?

要啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-20 18:21:09 | 显示全部楼层
数据不清空,爆零两行泪。

多测不读完,爆零两行泪。

边界不特判,爆零两行泪。

贪心不证明,爆零两行泪。

D P 顺序错,爆零两行泪。

大小少等号,爆零两行泪。

变量不统一,爆零两行泪。

越界不判断,爆零两行泪。

调试不注释,爆零两行泪。

溢出不 l l,爆零两行泪。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-22 12:03:11 | 显示全部楼层
前2题,gpt可以解决,但后4题就寄了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 01:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表