记录编号 |
35594 |
评测结果 |
AAAAAATAAA |
题目名称 |
小球钟—时间与运动 |
最终得分 |
90 |
用户昵称 |
QhelDIV |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
2.108 s |
提交时间 |
2012-02-26 11:06:18 |
内存使用 |
0.30 MiB |
显示代码纯文本
#include <fstream>
using namespace std;
ifstream fin("xqz.in");
ofstream fout("xqz.out");
const int MN=10000;
int N,Ans;
class L
{
public:
int Tail,Head,Data[MN];
L()
{
Tail=1;
Head=1;
}
}Bottom;
class Sd
{
public:
int Tail,Head,Data[20];
Sd()
{
Tail=1;
Head=1;
}
}Q_PerM,Q_FiveM,Q_PerH;
void Initialize()
{
int i;
fin>>N;
for(i=1;i<=N;i++)
Bottom.Data[i]=i;
Bottom.Head=1;Bottom.Tail=N+1;
}
bool Check()
{
int i;
if(Bottom.Head==Bottom.Tail)
return true;
for(i=Bottom.Head;i<Bottom.Tail;i++)
if(Bottom.Data[i%10000]!=i-Bottom.Head+1)
return true;
if(Ans!=0)
return false;
else
return true;
}
void Ad_Hoc()
{
int i,tmp;
for(;;)
{
if(Ans%1440==0)
if(!Check())
break;
Ans++;
if(Bottom.Tail>Bottom.Head)
Q_PerM.Data[Q_PerM.Tail++]=Bottom.Data[(Bottom.Head++)%10000];
if(Q_PerM.Tail - Q_PerM.Head>=5)
{
Q_FiveM.Data[Q_FiveM.Tail++]=Q_PerM.Data[--Q_PerM.Tail];
for(i=Q_PerM.Tail;i>Q_PerM.Head;i--)
Bottom.Data[(Bottom.Tail++)%10000]=Q_PerM.Data[--Q_PerM.Tail];
}
if(Q_FiveM.Tail - Q_FiveM.Head>=12)
{
Q_PerH.Data[Q_PerH.Tail++]=Q_FiveM.Data[--Q_FiveM.Tail];
for(i=Q_FiveM.Tail;i>Q_FiveM.Head;i--)
Bottom.Data[(Bottom.Tail++)%10000]=Q_FiveM.Data[--Q_FiveM.Tail];
}
if(Q_PerH.Tail - Q_PerH.Head>=12)
{
tmp=Q_PerH.Data[--Q_PerH.Tail];
for(i=Q_PerH.Tail;i>Q_PerH.Head;i--)
Bottom.Data[(Bottom.Tail++)%10000]=Q_PerH.Data[--Q_PerH.Tail];
Bottom.Data[(Bottom.Tail++)%10000]=tmp;
}
}
fout<<Ans/1440<<endl;
}
int main()
{
Initialize();
Ad_Hoc();
fin.close();
fout.close();
return 0;
}