| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 446 人关注过本帖
标题:Usaco中beads这个有点问题
取消只看楼主 加入收藏
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
结帖率:86.21%
收藏
 问题点数:0 回复次数:0 
Usaco中beads这个有点问题
程序代码:
/*
ID: liuyuan3
PROG: beads
LANG: C++
*/
#include<iostream>
#include<string>
#include<fstream>
#include<cstdlib>
using namespace std;
string beads;
bool q=1;
bool on=0;
bool if_(char x,char c){

 bool s;


 s=((x==c)||(x=='w'));


 return s;
}
int main(){

 ofstream fou("beads.out");

 ifstream fin("beads.in");

 if(fou.fail()){
  cout<<"open error"<<endl;
  exit(1);

 }

 if(fin.fail()){cout<<"open error"<<endl;
  exit(1);

 }

 //打开文件
 int N;

 fin>>N;


 fin>>beads;

 //文件输入
 int i,j,max=0;

 for(i=1;i<=N;i++){

 int count=0;

 if(beads[i]=='w'){
  j=i+1;while(beads[j]=='w')j++;
  char c=beads[j];
  //beads[i]=='w'
  on=true;
  count=j-i+1;
  for(;j<N;j++){
   count++;                        //debug
   if((!if_(beads[j],c))||(j==N-1)){
   if(max<count)max=count;
   break;
  
   }

  
   }
   j=i-1;while(beads[j]=='w')j--;
   c=beads[j];                       //c
   count+=i-j+1;
  

 
  for(;j>=0;j--)
     {
   count++;
   if(!if_(beads[j],c)){
   if(max<count)max=count;
   break;
  
   }
  
  
   }
   if(j==-1)
    if(max<count)max=count;
   q=!q;
   //------------------------


 }else{

 //else--------------------------------------
 on=false;

 char d=beads[i];

 for(j=i;j<N;j++){
   count++;
   if((!if_(beads[j],d))||(j==N-1)){
   if(max<count)max=count;
   break;
  
   }
  
  
   }
   //count=count-1;
   d=beads[i-1];
  for(j=i-1;j>=0;j--)
     {
  
   if(!if_(beads[j],d)){
   if(max<count)max=count;
   break;
  
   }
   count++;          //放在这里
  
   }
   if(j==-1)
    if(max<count)max=count;

 }

 }

 fou<<max<<endl;

 return 0;
}
这个代码只适合在不会因环形而有问题的情况下。如果是环形的就错误了。。

怎么把它弄成环形!
 代码较长,帮忙仔细看看!主要要改的地方就是几个for循环,循环变量是j的地方

[ 本帖最后由 lyj23 于 2012-1-18 15:29 编辑 ]
搜索更多相关主题的帖子: color beads 
2012-01-18 15:28
快速回复:Usaco中beads这个有点问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066465 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved