求助,为什么RE
  • 板块灌水区
  • 楼主_wakeup
  • 当前回复18
  • 已保存回复18
  • 发布时间2023/8/21 18:24
  • 上次更新2023/11/3 02:10:52
查看原帖
求助,为什么RE
666741
_wakeup楼主2023/8/21 18:24
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<cstdlib>
#include<queue>
#include<vector>
#define ll long long
using namespace std;
ll n,T,over[30],ing[30];
string s[100001],f[30][100001];
int cmp(string s1,string s2)
{
	int t1=s1[0]-'0',t2=s2[0]-'0';
	if(t1==t2)
	{
		if(s1.length()==s2.length())
		{
			for(int i=0;i<s1.length();i++)
			{
				if(s1[i]==s2[i])continue;
				return (s1[i]-'0')<(s2[i]-'0');
			}
		}
		else return s1.length()<s2.length();
	}
	return t1<t2;
}
int main()
{
	scanf("%lld%lld",&n,&T);
	for(int i=0;i<n;i++)
	{
		cin>>s[i];
	}
	sort(s,s+n,cmp);
	int pre=s[0][0]-'0',cnt=0;
	for(int i=0;i<n;i++)
	{
		int t=s[i][0]-'0';
		if(t!=pre)cnt=0,pre=t;
		f[t][cnt++]=s[i];
		over[t]++;
	}
	while(T--)
	{
		char c;
		cin>>c;
		int t=c-'0';
		cout<<f[t][ing[t]]<<endl;
		ing[t]++;
		if(ing[t]==over[t])ing[t]=0;
	}
	return 0;
}

题目不重要,主要是为什么RE

2023/8/21 18:24
加载中...