40分求助
查看原帖
40分求助
230243
syf2008楼主2021/8/11 21:32
#include<bits/stdc++.h>
using namespace std;
string a[10005],b[10005],c;
stack<char>c1,c2;
int s1,s2,t,sum;
int main()
{
//	freopen("work.in","r",stdin);
//	freopen("work.out","w",stdout);
    while(1)
	{
		getline(cin,c);
		++s1;
		for(int i=0;i<c.size();i++)
	    if(c[i]=='<')
		{
			if(!c1.empty())
		    c1.pop();
		}
	else c1.push(c[i]);
		while(!c1.empty())
		{
			c2.push(c1.top());
			c1.pop();
		}
		while(!c2.empty())
		{
			a[s1]+=c2.top();
			c2.pop();
		}
		if(a[s1]=="EOF")
		{
			--s1;
			break;
		}
	}
    while(1)
	{
		getline(cin,c);
		++s2;
		for(int i=0;i<c.size();i++)
		if(c[i]=='<')
		{
			if(!c1.empty())
		    c1.pop();
		}
	else c1.push(c[i]);
		while(!c1.empty())
		{
			c2.push(c1.top());
			c1.pop();
		}
		while(!c2.empty())
		{
			b[s2]+=c2.top();
			c2.pop();
		}
		if(b[s2]=="EOF")
		{
			--s2;
			break;
		}
	}
	for(int i=1;i<=s1;i++)
    for(int j=0;j<a[i].size();j++)
	if(a[i][j]==b[i][j])
	sum++;
    cin>>t;
    if(!t)
    puts("0");
else printf("%.0lf",(double)sum*60/t+0.5);
    return 0;
}
2021/8/11 21:32
加载中...