记录编号 |
58203 |
评测结果 |
WWWWWWWWWW |
题目名称 |
百进制数 |
最终得分 |
0 |
用户昵称 |
11111111 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.002 s |
提交时间 |
2013-04-18 11:33:21 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include<iostream>
#include<fstream>
#include<list>
#include<algorithm>
#include<queue>
#include<functional>
#include<cstring>
#include<cstdio>
#include<map>
#include<vector>
#include<deque>
#include<iomanip>
#include<string>
#include<cmath>
#include<set>
using namespace std;
ifstream fin("hex.in");
ofstream fout("hex.out");
int n,sum=0,maxx=0;
string s;
struct ss
{
int a,b,c,d,a1,b1;
}l[101];
void dfs(int a)
{
l[a].d=1;
sum+=l[a].c;
if (sum>maxx) maxx=sum;
for (int i=1;i<=n;i++)
if ((i!=a)&&((l[i].a==l[a].b)||(l[i].a1==l[a].b)||(l[i].a==l[a].b1)||(l[i].a1==l[a].b1))&&(l[i].d==0))
dfs(i);
sum-=l[a].c;
l[a].d=0;
}
int main()
{
fin>>n;
getline(fin,s);
for (int i=1;i<=n;i++)
{
getline(fin,s);
l[i].c=s.length();
l[i].a=((int)s[0]-(int)'0')*10+((int)s[1]-(int)'0');
l[i].b=((int)s[l[i].c-1]-(int)'0')+((int)s[l[i].c-2]-(int)'0')*10;
l[i].d=0;
l[i].a1=((int)s[0]-(int)'0')+((int)s[1]-(int)'0')*10;
l[i].b1=((int)s[l[i].c-1]-(int)'0')*10+((int)s[l[i].c-2]-(int)'0');
}
for (int i=1;i<=n;i++)
if (l[i].a!=l[i].b)
dfs(i);
fout<<maxx;
fin.close();
fout.close();
return 0;
}