比赛 20121106 评测结果 WWWWWWEEEEEE
题目名称 H 指数因子 最终得分 0
用户昵称 临轩听雨ゐ 运行时间 0.455 s
代码语言 C++ 内存使用 3.15 MiB
提交时间 2012-11-06 09:56:44
显示代码纯文本
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <string>
#include <cmath>
using namespace std;
struct I
{
	string st;
	int nn;
}na[101];
int cmp(const void *a,const void *b)
{
    struct I *c=(struct I *)a;
    struct I *d=(struct I *)b;
    return (c->nn > d->nn) ?1:-1;
}



int main()
{
	ifstream in("publish.in");
	ofstream out("publish.out");
	int n;
	int k=0;
	string s[101];
	int num[101]={0},f[101][101]={0};
	in>>n;
	for(int i=1;i<=n;i++)
	{
		in>>s[i];
		for(int j=1;j<=i;j++)
			if(s[i]==s[j])  f[i][j]++;
	}
	for(int i=1;i<=n;i++)
	{
		char a[101]; in>>a;
		int l=strlen (a);
		for(int j=0;j<l;j++)
			if(a[j]=='1')
				num[j+1]++;
		for(int j=1;j<i;j++)
		{
			if(s[i]==s[j] && s[j]!="1")
			{
				for(int l=0;l<=k;l++)
				{
					if(s[i]==na[l].st)
					{
						if(num[i]>=f[i][j] && num[j]>=f[j][j])
						{
							na[k].st=s[j];
							na[k].nn++;
							s[j]="1";
						}
					}else
					{
						k++;
						na[k].st=s[i];
					}
				}
			}
		}
	}
	qsort(na+1,n,sizeof(na[0]),cmp);
	for(int i=0;i<k;i++)
		out<<na[i].st<<" "<<na[i].nn<<endl;
    return 0;
}