现在有一个转换后的文本文件,以一个长度为 \(n\) 的字符串表示。请判断这个文件是用哪一种写的,详情请返回题面。
数据范围:\(n\leqslant 10^5\)。字符串里面至少有一个用来表示换行符的现显式转义符。
这道题目作为普及模拟赛的第一题挺良心的,虽然说没有 NOIP2018 普及组 T1 那么直接,但是也不难想到。
首先我们看到题目,发现解决此题的突破口是这个显式转义符。
然后再根据 \r
和 \n
出现的情况判断系统就是这样:
\n
。\r
。然后我们再去扫一遍字符串找 \r
和 \n
,然后根据找的情况,综合上面的判断标准确定系统就可以做出这道题目了。
注意字符串中间有空格,建议用 getline
读入字符串。详情见代码。
namespace Solution {
string LuoguP7869 「Wdoi-4」使用三个系统程度的能力 题解s;
iv Main() {
getline(cin, s);
int fln = 0, flr = 0;
F(int, i, 0, (int)s.size() - 1) if(s[i] == '\\') {
if(s[i + 1] == 'n') fln = 1;
if(s[i + 1] == 'r') flr = 1;
}
if(fln && flr) printf("windows");
else if(fln) printf("linux");
else printf("mac");
return;
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章