CCF(元素选择器:50分):字符串+模拟
Posted garrettwale
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF(元素选择器:50分):字符串+模拟相关的知识,希望对你有一定的参考价值。
元素选择器
201809-3
这里我只考虑了没有后代选择器的情况
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<sstream>
using namespace std;
string s[101];
int n,m;
int main()
cin>>n>>m;
getchar();
for(int i=0;i<n;i++)
getline(cin,s[i]);
for(int i=0;i<m;i++)
string ss;
getline(cin,ss);
int ans=0;//记录出现次数
int row[101];
for(int i=0;i<n;i++)//每一行查询
stringstream sss(s[i]);
if(ss[0]=='#')//这是属性
string temp;
sss>>temp;
sss>>temp;
if(temp==ss)
row[ans++]=i+1;
else//这是标签
string temp;
sss>>temp;
string now="";
for(int j=0;j<temp.length();j++)
if(temp[j]!='.')
if(temp[j]<='Z'&&temp[j]>='A')
now+=temp[j]-'A'+'a';
else
now+=temp[j];
string now1="";
for(int j=0;j<ss.length();j++)
if(ss[j]<='Z'&&ss[j]>='A')
now1+=ss[j]-'A'+'a';
else
now1+=ss[j];
if(now==now1)
row[ans++]=i+1;
sss.str("");
cout<<ans;
for(int j=0;j<ans;j++)
cout<<" "<<row[j];
cout<<endl;
//system("pause");
return 0;
以上是关于CCF(元素选择器:50分):字符串+模拟的主要内容,如果未能解决你的问题,请参考以下文章