首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这道题这样写为什么会wrong answer.麻烦看一上,多谢大家了。

2013-03-22 
这道题这样写为什么会wrong answer...,麻烦看一下,谢谢大家了。。爱就大声说出来Time Limit: 1000 msCase Ti

这道题这样写为什么会wrong answer...,麻烦看一下,谢谢大家了。。
爱就大声说出来

Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MB
Total Submission: 532   Submission Accepted: 70 



Description

时间是一把刻刀,也是无情的流水。它曾经用它锋利的刀刃深深刻进 FF 心里的那个女孩,也被流年洗刷得只剩下模糊的影子。时隔一年之后,逐渐从往年的心事中走出来的 FF 邂逅了另一个让他心动的人。她会是 FF 一直寻找着的那个人吗?FF 没办法知道,他只知道,爱就要大声说出来。请你帮助 FF 找到最“大声”的表白方式。
给定一个字符串,定义一种表白方式如下:
从字符串中选取三个字符:"I", "L", "U",(区分大小写)。假设选取的"I", "L", "U"分别是字符串中的第 i, j, k 个字符,且 i, j, k 满足条件 i<j<k ,则称这种选取方式为一种表白方式。
一种表白方式的“音量”按照下面的公式计算:
音量 vol = (j-i)*(k-i)*(k-j)。
请根据给定的字符串找到最“大声”的表白方式。


Input

一个整数 n,表示有 n 组测试数据。
每组测试数据一行,包含一个字符串。
字符串长度不超过 1000。
输入保证至少含有一种满足定义的表白方式。


Output

每组输入对应一行输出。
每组输出包含三个整数 i, j, k, 表示被选中的字符 "I", "L", "U" 分别是字符串中的第 i, j, k 个字符。数字之间用空格隔开。如果存在多个答案,则输出 i 最小的一组。i 相等则输出 j 较小的,以此类推。


Sample Input



Original

Transformed


3
IALAU
IILLUU
AILUILUA


Sample Output



Original

Transformed


1 3 5
1 3 6
2 3 7
我的代码

#include<string>
#include<stdio.h>
#include<string.h>

int main()
{
char a[1000];
int n,i,j,t,p,b[1000],c[1000],d[1000],m,q,z;
int x,y,v,u,vol;
scanf("%d",&n);
getchar();
while(n--)
{
gets(a);
//cout<<a<<endl;
   j=1;t=1;p=1;
   vol=0;
  for(i=0;i<strlen(a);i++)
  {
  
  if(a[i]=='I')
  {
  b[j]=i+1;
  j++;
  }
 if(a[i]=='L')
  {
  c[t]=i+1;
  t++;
  }
  if(a[i]=='U')
  {
  d[p]=i+1;
  p++;
  }
}  

  //cout<<endl;

  /*for(y=1;y<t;y++)
  {
  cout<<c[y]<<' ';
  }
  cout<<endl;
  for(z=1;z<p;z++)
  {
  cout<<d[z]<<' ';
  }
   cout<<endl;*/
  vol=0;
 for(x=1;x<j;x++)
  {
  for(y=1;y<t;y++)
  {
  for(v=1;v<p;v++)
  {
 u= (d[v]-b[x])*(d[v]-c[y])*(c[y]-b[x]);
 
  if(u>vol&&b[x]<c[y]&&c[y]<d[v])
  {
  vol=u;
                 m=b[x];
 q=c[y];
 z=d[v];
  }

  }
  }
  
  }
  printf("%d %d %d \n",m,q,z);

}
return 0;
}
[解决办法]
凌乱的代码  超低的结贴率 难道就不会格式化一下代码再贴出来吗?!
[解决办法]

引用:
都纠结几天了,麻烦大家看一下,不知道到第哪错了。。
能把acm的原题地址贴出来不?

热点排行