题目描述
给定一条 std::freopen 语句,输出其操作的文件名称。
形式化地,std::freopen 语句都应该恰好是
std::freopen("<title>","<mode>",<stream>);
其中 <title>
为其操作的文件名称。其至少包含一个字符,并且只可能包含下列几种字符:
- 大写英文字符;
- 小写英文字符;
- 阿拉伯数字;
- 英文半角句点
.
。
<mode>
为文件访问标记,其只可能为 r
、w
、a
中的一种。<stream>
为文件流,其只可能为 stdin
、stdout
、stderr
中的一种。
你需要回答 T 次询问。
输入格式
本题单个测试点内含有多组询问。
第一行一个正整数 T,代表询问次数。
对于每组询问:一行一个字符串,代表一条 std::freopen 语句。
输出格式
对于每组询问,输出一行一个字符串,代表其操作的文件名称。
输入输出样例
输入 #1
9 std::freopen("5k.sync.closer","r",stdin); std::freopen("5k.sync.closer","r",stdout); std::freopen("5k.sync.closer","r",stderr); std::freopen("5k.sync.closer","w",stdin); std::freopen("5k.sync.closer","w",stdout); std::freopen("5k.sync.closer","w",stderr); std::freopen("5k.sync.closer","a",stdin); std::freopen("5k.sync.closer","a",stdout); std::freopen("5k.sync.closer","a",stderr);
输出 #1
5k.sync.closer 5k.sync.closer 5k.sync.closer 5k.sync.closer 5k.sync.closer 5k.sync.closer 5k.sync.closer 5k.sync.closer 5k.sync.closer
说明/提示
本题采用捆绑测试。
对于 100% 的数据:
- 1≤T≤1000。
- 每条语句的长度均不超过 1000。
具体部分分分配如下:
- Subtask 1 (30pts):保证文件名为
5k.sync.closer
。 - Subtask 2 (30pts):保证文件名长度为 1。
- Subtask 3 (40pts):无特殊限制。
思路
这道题只需要输出 <title>
的值即可。我们发现这个东西两边都是 "
,并且是第一对双引号,因此我们只需要输出第一对双引号之间的值即可。
AC Code
#include<bits/stdc++.h>
using namespace std;
int main(){int t;cin>>t;while(t--){string s;cin>>s;string ans;ans="";bool fl;fl=0;for(int i=0;i<s.size();i++){if(s[i]=='\"'){if(fl){break;}fl=1;}else{if(fl){ans+=s[i];}}}cout<<ans<<endl;}return 0;
}