ACM问题 我的代码不知道那些测试数据不能过? http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_

http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=1283我的代码:#include<iostream... http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=1283
我的代码:
#include<iostream>
#include<math.h>
#include<stdio.h>
#include<string>
#include<string.h>
using namespace std;
int main()
{
int i,t;
bool flag;
char a[10010];
while(cin>>t&&t)
{
cin>>a;
flag=false;
if(t==1)
{
cout<<"-1"<<endl;
continue;
}
else if(t==2&&strcmp(a,"EE")==0)
{
cout<<"0"<<endl;
continue;
}
else if(t==2&&strcmp(a,"EE")!=0)
{
cout<<"-1"<<endl;
continue;
}
else
{
for(i=0;i<t;i++)
{
if(a[0]=='E'&&a[0+1]=='E')
{
cout<<"0"<<endl;
flag=true;
break;
}
else if(i!=t-1&&a[i]=='E'&& (a[i-1]=='E'||a[i+1]=='E') )
{
cout<<i<<endl;
flag=true;
break;
}
}
if(!flag)
cout<<"-1"<<endl;

}
}
return 0;
}
#include<iostream>
#include<math.h>
#include<stdio.h>
#include<string>
#include<string.h>
using namespace std;
int main()
{
int i,t;
bool flag;
char a[10010];
while(cin>>t&&t)
{
cin>>a;
flag=false;
if(t==1)
{
cout<<"-1"<<endl;
continue;
}
else if(t==2&&strcmp(a,"EE")==0)
{
cout<<"0"<<endl;
continue;
}
else if(t==2&&strcmp(a,"EE")!=0)
{
cout<<"-1"<<endl;
continue;
}
else
{
for(i=t/2;i>0;i--)
{
if(a[i]=='E'&& (a[i-1]=='E'||a[i+1]=='E') )
{
cout<<i<<endl;
flag=true;
break;
}
}
if(!flag)
{
for(i=0;i<t;i++)
{
if(i!=t-1&&a[i]=='E'&& (a[i-1]=='E'||a[i+1]=='E') )
{
cout<<i<<endl;
flag=true;
break;
}
}
}
if(!flag)
cout<<"-1"<<endl;
}
}
return 0;
}
qfyh05学长 这个也WA 我想不出来还有哪些数据没想
展开
 我来答
qfyh05
2011-03-22 · TA获得超过507个赞
知道小有建树答主
回答量:325
采纳率:50%
帮助的人:359万
展开全部
给你几个测试用例,通过了你就能AC了:
3
EEE
1
-------
10
EEPPPEEEPP
5
-------
10
PEEEPPEEPE
3
-------
10
EEPPPPEEPP
6
你的是1.
告诉你题目的意思吧,你基本都明白了,其实就是让你从中间开始搜索,同时向两边进行查找符合的座位。所以你先找一半之前的,再找一半之后的,这样就注定不对了。
grpqotk
2011-03-22 · TA获得超过427个赞
知道答主
回答量:624
采纳率:0%
帮助的人:326万
展开全部
lude <iostream>
#include <map>
#include <cstring>
using namespace std;
int n;
char name[25];
string s[100002];
int c;
int counter=0;
map<string, int>m;
int result[100002];
void init()
{
for (int i=1; i<=n; i++)
{
scanf("%s",name);
int l=strlen(name);
sort(name, name+l);
s[i] = name;
}
}
void solve()
{
printf("Task #%d:\n", ++counter);
memset(result, 0, sizeof(result));
int num=0;
int f=1;
for (int i=1; i<=n; i++)
{
if(m[ s[i] ]!=0)
{
result[ m[ s[i] ] ]++;
}
else
{
m[ s[i] ]=f++;
result[f-1]++;
}
}
sort(result+1, result+f);
for (int i=1; i<f; i++)
{
if(result[i]==1)
{
printf("-->Group #%d has %d bunny.\n", i, result[i]);
}
else
{
printf("-->Group #%d has %d bunnies.\n", i, result[i]);
}
}
m.clear();
}
int main()
{
while(cin>>n)
{
init();
solve();
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youngfish2010
2011-03-22
知道答主
回答量:27
采纳率:0%
帮助的人:11.8万
展开全部
2. to study without bother, Rock want a seat away from the both sides passageway as far as possible.
这一点的要求是不是说在t=2的时候也应该输出-1呢? \
另外题目要求是越远离边上越好,所以要注意前半部分是取第i+1个位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式