UVA 127 - "Accordian" Patience---用STL做的(TLE超时)
来源:互联网 发布:成都网站制作龙兵网络 编辑:程序博客网 时间:2024/06/14 22:44
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<list>
#include<vector>
#include<stack>
#include <algorithm>
#define N 1024
using namespace std;
bool ok(string a,string b)
{
if(a[0]==b[0]||a[1]==b[1])
return 1;
return 0;
}
int main()
{
// freopen("ex.in","r",stdin);
string str;
while(cin>>str&&str[0]!='#')
{
stack<string> sta;
vector<stack<string> > s;//必须有空格!!!
sta.push(str);
s.push_back(sta);
for(int i=1; i<52; i++)
{
cin>>str;
stack<string> sta1;
sta1.push(str);
s.push_back(sta1);
}
//for(int i=0;i<52;i++)
//cout<<i<<" "<<s[i].top()<<endl;
int i;
int len=52;
for(i=0; i<len;)
{
// cout<<"i="<<i<<endl;
if(i>=3&&ok(s[i].top(),s[i-3].top()))
{
s[i-3].push(s[i].top());
s[i].pop();
if(s[i].empty())
{
s.erase(i+s.begin());
--len;
}
i-=3;
}
else if(i>=1&&ok(s[i].top(),s[i-1].top()))
{
// cout<<"i="<<i<<" "<<s[i].top()<<endl;
s[i-1].push(s[i].top());
s[i].pop();
if(s[i].empty())
{
s.erase(i+s.begin());
len--;
}
i-=1;
}
else
i++;
}
cout<<len;
if(len==1)
cout<<" pile remaining:";
else
cout<<" piles remaining:";
for(int i=0; i<len; i++)
cout<<" "<<s[i].size();
cout<<endl;
}
return 0;
}
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<list>
#include<vector>
#include<stack>
#include <algorithm>
#define N 1024
using namespace std;
bool ok(string a,string b)
{
if(a[0]==b[0]||a[1]==b[1])
return 1;
return 0;
}
int main()
{
// freopen("ex.in","r",stdin);
string str;
while(cin>>str&&str[0]!='#')
{
stack<string> sta;
vector<stack<string> > s;//必须有空格!!!
sta.push(str);
s.push_back(sta);
for(int i=1; i<52; i++)
{
cin>>str;
stack<string> sta1;
sta1.push(str);
s.push_back(sta1);
}
//for(int i=0;i<52;i++)
//cout<<i<<" "<<s[i].top()<<endl;
int i;
int len=52;
for(i=0; i<len;)
{
// cout<<"i="<<i<<endl;
if(i>=3&&ok(s[i].top(),s[i-3].top()))
{
s[i-3].push(s[i].top());
s[i].pop();
if(s[i].empty())
{
s.erase(i+s.begin());
--len;
}
i-=3;
}
else if(i>=1&&ok(s[i].top(),s[i-1].top()))
{
// cout<<"i="<<i<<" "<<s[i].top()<<endl;
s[i-1].push(s[i].top());
s[i].pop();
if(s[i].empty())
{
s.erase(i+s.begin());
len--;
}
i-=1;
}
else
i++;
}
cout<<len;
if(len==1)
cout<<" pile remaining:";
else
cout<<" piles remaining:";
for(int i=0; i<len; i++)
cout<<" "<<s[i].size();
cout<<endl;
}
return 0;
}
- UVA 127 - "Accordian" Patience---用STL做的(TLE超时)
- uva 127 poj 1214 "Accordian" Patience (栈STL运用)
- UVa 127 "Accordian" Patience
- uva 127 - "Accordian" Patience
- uva 127 - "Accordian" Patience
- uva-127 - "Accordian" Patience
- UVa 127 - "Accordian" Patience
- UVA 127 "Accordian" Patience
- UVa 127 "Accordian" Patience
- uva 127 - "Accordian" Patience
- UVA 127 - Accordian Patience
- UVa 127 - "Accordian" Patience
- UVa 127--``Accordian'' Patience
- UVA 127 "Accordian" Patience
- UVA 127 Accordian'' Patience
- UVa 127: "Accordian" Patience
- uva 127 - Accordian Patience
- UVa 127 - "Accordian" Patience
- 当前session生成redo,undo大小,统计信息,以及表的大小
- hdu4350 Card-----多校联合六
- android消息推送
- Oracle APEX Classical Report的列根据条件判断显示为Link
- stretchableImageWithLeftCapWidth 的使用
- UVA 127 - "Accordian" Patience---用STL做的(TLE超时)
- ubuntu下tftp文件,Retry count exceeded; starting again问题
- secure crt 6.6.3 设置
- 教你玩转11gR2 GNS(Grid Naming Service)
- 原型模式
- 屏幕的FMARK--最后一段是出现切屏的本质
- Poco::BasicEvent
- hdu_4355 Party All the Time(简单数学题)
- 汉字转全拼