This commit is contained in:
ljcjames 2022-08-22 22:19:52 +08:00
parent 62e77a6b8d
commit 2d30154beb
42 changed files with 1086 additions and 0 deletions

View File

@ -1,3 +1,4 @@
//not finish
#include <iostream>
#include<cstdio>
#include<algorithm>

View File

@ -176,7 +176,16 @@ int main()
printf("%s",sub);
}
}
/*
123456789012345678901
125860
2564168486416487447411002654
5416846
30024
20
*/
// ce();
return 0;
}

View File

@ -1,3 +1,4 @@
//not finish
#include<cstdio>
#include<vector>
using namespace std;
@ -12,11 +13,13 @@ struct Node
int max;
int min;
int len;
int faw;
// vector<int> son;
} a[N];
void add(int u,int v,int w1)
{
a[v].fa=u;
a[v].faw=w1;
w[++cnt]=w1;
to[cnt]=v;
ne[cnt]=h[u];
@ -54,6 +57,37 @@ void ce()
printf("%d:%d %d %d %d %d\n",i,a[i].fa ,a[i].max,a[i].min,a[i].sum,a[i].len );
}
}
void find(int )
{
if
}
int goup(int x,int k)
{
int u=x;
int sum=0;
int ans=0;
int len=0;
do
{
sum+=a[u].faw ;
if(len)
{
ans-=a[u].faw*a[u].len;
}
else
{
}
if(sum>=k)
{
ans=a[1].sum;
ans-=a[u].sum;
len=a[u].len+1;
ans-=a[u].faw*a[u].len;
}
u=a[u].fa;
}while(a[u].fa)
}
int main()
{
int u,v,w1;
@ -65,4 +99,11 @@ int main()
}
dfs(1);
ce();
int q;
scanf("%d",&q);
while(q--)
{
scanf("%d%d",&x,&k);
pirntf("%d",goup(x,k));
}
}

Binary file not shown.

View File

@ -0,0 +1,12 @@
# 题目
* 链接
### 题意
### 做法
### 关键词
### 易错点
*
### 工具箱
*

View File

@ -0,0 +1 @@
#

View File

@ -0,0 +1,31 @@
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
using namespace std;
//const int N=1e8+5;
//void initialise(int n)
//{
//
//}
int main()
{
int t;
double H,h,D;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf",&H,&h,&D);
// initialise(n);
double add=D/2-(H-h);
if(add>0)
{
printf("%.3lf\n",h+add);
}
else
{
printf("%.3lf\n",h);
}
}
return 0;
}

View File

View File

View File

View File

@ -0,0 +1,7 @@
## z:\Chao\src\Template\test\in.txt
2020/03/14 ÖÜÁù 11:41:28.68
Hello Easy C++ project!
-----------------------------------------------
Process exited after 200 ms with return value 0

12
8.21/A-Network/Readme.md Normal file
View File

@ -0,0 +1,12 @@
# 题目
* 链接
### 题意
### 做法
### 关键词
### 易错点
*
### 工具箱
*

View File

@ -0,0 +1 @@
#

118
8.21/A-Network/main.cpp Normal file
View File

@ -0,0 +1,118 @@
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
using namespace std;
const int N=105,NN=N*N;
int n;
int ne[NN],to[NN],h[N];
int cnt=0;
int dfn[N],low[N];
bool in[N];
int dep=0;
int s[N];//stack
int top=0;
int belong[N];
int id=0;
bool fa[N],son[N];
//void init(int n)
//{
//
//}
void add(int u,int v)
{
ne[++cnt]=h[u];
to[cnt]=v;
h[u]=cnt;
}
void targan(int u)
{
dfn[u]=++dep;
low[u]=dep;
in[u]=1;
int v;
s[++top]=u;
for(int i=h[u];i;i=ne[i])
{
v=to[i];
if(!dfn[v])
{
targan(v);
low[u]=low[u]<low[v]? low[u]:low[v];
}
else if(in[v])
{
low[u]=low[u]<low[v]? low[u]:low[v];
}
}
if(dfn[u]==low[u])
{
id++;
// printf("%d:%d ",u,id);
do
{
belong[s[top]]=id;
in[s[top]]=0;
}while(s[top--]!=u);//-- ->++
}
}
void ce()
{
for(int i=1;i<=n;i++)
{
printf("%d(%d) ",i,belong[i]);
}
}
int main()
{
scanf("%d",&n);
// init(n);
int v;
for(int i=1; i<=n; i++)
{
while(~scanf("%d",&v)&&v)
{
add(i,v);
}
}
for(int i=1;i<=n;i++)
{
if(!dfn[i])
{
targan(i);
}
}
// ce();
for(int i=1;i<=n;i++)
{
for(int j=h[i];j;j=ne[j])
{
v=to[j];
if(belong[i]!=belong[v])//v->j
{
fa[belong[v]]=1;
son[belong[i]]=1;
}
}
}
int res1=0,res2=0;
for(int i=1;i<=id;i++)
{
// printf("%d(%d,%d) ",i,fa[i],son[i]);
if(!fa[i])
{
res1++;
}
if(!son[i])
{
res2++;
}
}
res2=res1>res2? res1:res2;
if(id==1)
{
res1=1;res2=0;
}
printf("%d\n%d",res1,res2);
return 0;
}

View File

View File

View File

View File

@ -0,0 +1,7 @@
## z:\Chao\src\Template\test\in.txt
2020/03/14 ÖÜÁù 11:41:28.68
Hello Easy C++ project!
-----------------------------------------------
Process exited after 200 ms with return value 0

12
8.21/B-Light/Readme.md Normal file
View File

@ -0,0 +1,12 @@
# 题目
* 链接
### 题意
### 做法
### 关键词
### 易错点
*
### 工具箱
*

View File

@ -0,0 +1 @@
#

31
8.21/B-Light/main.cpp Normal file
View File

@ -0,0 +1,31 @@
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
using namespace std;
//const int N=1e8+5;
//void initialise(int n)
//{
//
//}
int main()
{
int t;
double H,h,D;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf",&H,&h,&D);
// initialise(n);
double add=D/2-(H-h);
if(add>0)
{
printf("%.3lf\n",h+add);
}
else
{
printf("%.3lf\n",h);
}
}
return 0;
}

0
8.21/B-Light/test/in.txt Normal file
View File

View File

View File

View File

@ -0,0 +1,7 @@
## z:\Chao\src\Template\test\in.txt
2020/03/14 ÖÜÁù 11:41:28.68
Hello Easy C++ project!
-----------------------------------------------
Process exited after 200 ms with return value 0

View File

@ -0,0 +1 @@
#

View File

@ -0,0 +1,71 @@
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
#include<string>
using namespace std;
const int mod=998244353,N=21;
string s[N],t[N];
bool b[N][30];
int sum[N];
long long ans=0;
long long qpow(long long n,int l )
{
long long now=n,res=1;
while(l>0)
{
if(l&1==1)
{
res*=now;
res%=mod;
}
l=l>>1;
now*=now;
now%=mod;
}
return res;
}
int main()
{
int n,l;
scanf("%d%d",&n,&l);
for(int i=1; i<=n; i++)
{
cin>>s[i];
int len=s[i].size() ;
for(int j=0; j<len; j++)
{
//˳Ðò·´ÁË
if(b[i][s[i][j]-'a']==0)
{
sum[i]++;
}
b[i][s[i][j]-'a']=1;
}
printf("%d:\n%d+%d(%d)=",i,ans,qpow(sum[i],l),sum[i]);
ans+=qpow(sum[i],l);
ans%=mod;
printf("%d\n",ans);
int cnt=0;
memset(t,0,sizeof(string)*(n+1));
for(int k=1; k<i; k++)
{
sum[i]=0;
for(int j=0; j<len; j++)
{
if(b[k][s[i][j]-'a']==1)
{
sum[i]++;
t[k]+=s[i][j];
}
}
printf("%d-%d(%d)=",ans,qpow(sum[i],l),sum[i]);
ans-=qpow(sum[i],l);
ans=(ans+mod)%mod;
printf("%d\n",ans);
}
}
printf("%lld",ans);
return 0;
}

View File

@ -0,0 +1,68 @@
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
#include<string>
using namespace std;
const int mod=998244353,N=21;
string s[N];
bool b[N][30];
int sum[N];
long long ans=0;
long long qpow(long long n,int l )
{
long long now=n,res=1;
while(l>0)
{
if(l&1==1)
{
res*=now;
res%=mod;
}
l=l>>1;
now*=now;
now%=mod;
}
return res;
}
int main()
{
int n,l;
scanf("%d%d",&n,&l);
for(int i=1; i<=n; i++)
{
cin>>s[i];
int len=s[i].size() ;
for(int j=0; j<len; j++)
{
//˳Ðò·´ÁË
if(b[i][s[i][j]-'a']==0)
{
sum[i]++;
}
b[i][s[i][j]-'a']=1;
}
printf("%d:\n%d+%d(%d)=",i,ans,qpow(sum[i],l),sum[i]);
ans+=qpow(sum[i],l);
ans%=mod;
printf("%d\n",ans);
for(int k=1; k<i; k++)
{
sum[i]=0;
for(int j=0; j<len; j++)
{
if(b[k][s[i][j]-'a']==1)
{
// b[k][s[i][j]-'a']=0;
sum[i]++;
}
}
printf("%d-%d(%d)=",ans,qpow(sum[i],l),sum[i]);
ans-=qpow(sum[i],l);
ans=(ans+mod)%mod;
printf("%d\n",ans);
}
}
printf("%lld",ans);
return 0;
}

View File

@ -0,0 +1,78 @@
#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cmath>
#include<string>
#include<cstring>
using namespace std;
const int mod=998244353,N=21;
string s[N],t[N];
bool b[N][30];
int sum[N];
long long ans=0;
bool d[N][30];
int n,l;
long long qpow(long long n,int l )
{
long long now=n,res=1;
while(l>0)
{
if(l&1==1)
{
res*=now;
res%=mod;
}
l=l>>1;
now*=now;
now%=mod;
}
return res;
}
void youa(int i,bool *b1[],string *s1)
{
int len=s1.size() ;
for(int j=0; j<len; j++)
{
//˳Ðò·´ÁË
if(b1[s1[j]-'a']==0)
{
sum[i]++;
}
b1[s1[j]-'a']=1;
}
printf("%d:\n%d+%d(%d)=",i,ans,qpow(sum[i],l),sum[i]);
ans+=qpow(sum[i],l);
ans%=mod;
printf("%d\n",ans);
}
int main()
{
scanf("%d%d",&n,&l);
for(int i=1; i<=n; i++)
{
cin>>s[i];
youa(i,&b[i],&s[i]);
int cnt=0;
int len=s[i].size() ;
memset(t,0,sizeof(string)*(n+1));
for(int k=1; k<i; k++)
{
sum[i]=0;
for(int j=0; j<len; j++)
{
if(b[k][s[i][j]-'a']==1)
{
sum[i]++;
t[k]+=s[i][j];
}
}
printf("%d-%d(%d)=",ans,qpow(sum[i],l),sum[i]);
ans-=qpow(sum[i],l);
ans=(ans+mod)%mod;
printf("%d\n",ans);
}
}
printf("%lld",ans);
return 0;
}

73
8.21/E-typewriter/new.cpp Normal file
View File

@ -0,0 +1,73 @@
#include<cstdio>
#include<cstring>
using namespace std;
const int mod=998244353,N=21;
char s[N][30];
int mask[N];
long long ans=0;
long long qpow(long long n,int l )
{
long long res=1;
while(l>0)
{
if(l&1)
{
res=res*n%mod;
}
l>>=1;
n=n*n%mod;
}
return res;
}
int Count(int x)
{
int cnt=0;//cnt=0!
while(x>0)
{
if(x&1)
{
cnt++;
}
x>>=1;
}
return cnt;
}
int main()
{
int n,l;
scanf("%d%d",&n,&l);
for(int i=0; i<n; i++)//0~n-1 -> 1~n
{
scanf("%s",s[i]);
int len=strlen(s[i]);
for(int j=0; j<len; j++)
{
mask[i]|=(1<<(s[i][j]-'a'));
}
}
for(int i=1;i<(1<<n);i++)//选了哪几个
{
//ch内容共有的部分 cnt选了几个集合
int ch=(1<<26)-1,cnt=0;//1<<26 ->1<<j
for(int j=0;j<n;j++)
{
if(i&(1<<j))
{
cnt++;
ch&=mask[j];
}
}
//偶数个共有-,奇数个+
if(cnt&1)
{
ans=(ans+qpow(Count(ch),l))%mod;
}
else
{
// ans = (ans + (mod - qpow(Count(ch), l)) % mod) % mod;
ans=(ans+mod-qpow(Count(ch),l))%mod;
}
}
printf("%lld",ans);
return 0;
}

View File

@ -0,0 +1,64 @@
/*
n=3n=3L的字符串总数=(使1+使2+使3)-(使12+使23+使13)+(使123)=(使1+使2+使3)?(使12+使23+使13)+(使123)
nn不超过1818002^{18}-12
18
?1002^{18}-12
18
?1iii包含奇数个11ii包含偶数个11
i包含kk个11kk个字符集的交集2626int有3232位323226262626*/
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int maxn = 18;
const int mod = 998244353;
int n, L, mask[18];
char s[18][27];
ll ans;
ll qpow(ll a, ll b)
{
ll re = 1;
while (b != 0)
{
if ((b & 1) == 1)
re = re * a % mod;
a = a * a % mod;
b >>= 1;
}
return re;
}
int Count(int x)
{
int cnt = 0;
while (x != 0)
{
if ((x & 1) == 1)
cnt++;
x >>= 1;
}
return cnt;
}
int main()
{
scanf("%d%d", &n, &L);
for (int i = 0; i < n; i++)
{
scanf("%s", s[i]);
for (int j = 0; s[i][j] != '\0'; j++)
mask[i] |= (1 << (s[i][j] - 'a'));
}
for (int i = 1; i < (1 << n); i++)
{
int ch = (1 << 26) - 1, cnt = 0;
for (int j = 0; j < n; j++)
if (((1 << j)&i) != 0)
cnt++, ch &= mask[j];
if ((cnt & 1) == 1)
ans = (ans + qpow(Count(ch), L)) % mod;
else
ans = (ans + (mod - qpow(Count(ch), L)) % mod) % mod;
}
printf("%lld\n", ans);
return 0;
}

View File

View File

View File

View File

@ -0,0 +1,7 @@
## z:\Chao\src\Template\test\in.txt
2020/03/14 ÖÜÁù 11:41:28.68
Hello Easy C++ project!
-----------------------------------------------
Process exited after 200 ms with return value 0

28
8.22/A.cpp Normal file
View File

@ -0,0 +1,28 @@
#include<cstdio>
using namespace std;
const int N=100005;
int n;
bool cover[N];
struct edge
{
double x1,x2,y1,y2;
} e[N];
void ce()
{
for(int i=1; i<=n; i++)
{
printf("%lf %lf %lf %lf\n",e[i].x1,e[i].y1,e[i].x2,e[i].y2 );
}
}
int main()
{
while(~scanf("%d",&n)&&n)
{
for(int i=1; i<=n; i++)
{
scanf("%lf%lf%lf%lf",&e[i].x1,&e[i].y1,&e[i].x2,&e[i].y2 );
}
ce();
}
}

134
8.22/A2.cpp Normal file
View File

@ -0,0 +1,134 @@
#include<cstdio>
using namespace std;
const int N=100005;
const double eps=1e-10;
int n;
bool cover[N];
struct Point
{
double x,y;
};
struct edge
{
Point a,b;
} e[N];
//inline void ce()
//{
// for(int i=1; i<=n; i++)
// {
// printf("%.0lf %.0lf %.0lf %.0lf\n",e[i].a.x,e[i].a.y,e[i].b.x,e[i].b.y);
// }
//}
inline int sign(double u)
{
if(u>=-eps&&u<=eps)
{
return 0;
}
if(u>0)
{
return 1;
}
else return -1;
}
inline double cross(Point a,Point b)
{
return a.x*b.y-b.x*a.y;
}
inline Point des(Point a,Point b)
{
a.x-=b.x;
a.y-=b.y;
return a;
}
bool max(double a,double b)
{
return a>b? a:b;
}
bool min(double a,double b)
{
return a<b? a:b;
}
//bool cmp()
inline edge maxe(edge a)
{
edge b;
b.a.x=max(a.a.x,a.b.x);
b.a.y=max(a.a.y,a.b.y);
b.b.x=min(a.a.x,a.b.x);
b.b.y=min(a.a.y,a.b.y);//b->a
return b;
}
inline bool cejiao(edge a,edge b)
{
Point yi=des(a.a,a.b);
Point er=des(b.a,a.b);
Point san=des(b.b,a.b);
int sh=sign(cross(yi,er)),ni=sign(cross(yi,san));
// printf("%d %d\n",sh,ni);
if(sh*ni<=0)
{
return 1;
}
if(sh==0||ni==0)
{
edge ma=maxe(a),mb=maxe(b);
// printf("A:%.0lf %.0lf/%.0lf %.0lf",ma.a.x,ma.a.y,ma.b.x,ma.b.y);
// printf("B:%.0lf %.0lf/%.0lf %.0lf",mb.a.x,mb.a.y,mb.b.x,mb.b.y);
// printf("%.0lf %.0lf %.0lf %.0lf\n",e[i].a.x,e[i].a.y,e[i].b.x,e[i].b.y);
if(ma.a.x>=mb.b.x&&ma.a.y>=mb.b.y)
{
if(mb.a.x>=ma.b.x&&mb.a.y>=ma.b.y)
{
return 1;
}
}
}
return 0;
}
int main()
{
// freopen("ain.txt","r",stdin);
// freopen("aout.txt","w",stdout);
while(~scanf("%d",&n))
{
if(n==0)
{
break;
}
for(int i=1; i<=n; i++)
{
scanf("%lf%lf%lf%lf",&e[i].a.x,&e[i].a.y,&e[i].b.x,&e[i].b.y );
for(int j=1; j<i; j++)
{
// printf("%d->%d(%d,%d)\n",i,j,cejiao(e[i],e[j]),cejiao(e[j],e[i]));
if(!cover[j]&&cejiao(e[i],e[j])&&cejiao(e[j],e[i]))
{
cover[j]=1;
}
}
}
printf("Top sticks: ");
int i;
for(i=1; i<=n; i++)
{
if(!cover[i])
{
printf("%d",i);
break;
}
else cover[i]=0;
}
for(i=i+1; i<=n; i++)
{
if(!cover[i])
{
printf(", %d",i);
}
else cover[i]=0;
}
printf(".\n");
// ce();
}
return 0;
}

147
8.22/A3.cpp Normal file
View File

@ -0,0 +1,147 @@
//finally ac 要把被覆盖的删掉
#include<cstdio>
#include<list>
using namespace std;
const int N=100005;
const double eps=1e-10;
int n;
bool cover[N];
struct Point
{
double x,y;
};
struct edge
{
Point a,b;
int cnt;
} ;
//inline void ce()
//{
// for(int i=1; i<=n; i++)
// {
// printf("%.0lf %.0lf %.0lf %.0lf\n",e[i].a.x,e[i].a.y,e[i].b.x,e[i].b.y);
// }
//}
inline int sign(double u)
{
if(u>=-eps&&u<=eps)
{
return 0;
}
if(u>0)
{
return 1;
}
else return -1;
}
inline double cross(Point a,Point b)
{
return a.x*b.y-b.x*a.y;
}
inline Point des(Point a,Point b)
{
a.x-=b.x;
a.y-=b.y;
return a;
}
double max(double a,double b)//double ->bool
{
return a>b? a:b;
}
double min(double a,double b)
{
return a<b? a:b;
}
//bool cmp()
inline edge maxe(edge a)
{
edge b;
b.a.x=max(a.a.x,a.b.x);
b.a.y=max(a.a.y,a.b.y);
b.b.x=min(a.a.x,a.b.x);
b.b.y=min(a.a.y,a.b.y);//b->a
return b;
}
inline bool cejiao(edge a,edge b)
{
edge ma=maxe(a),mb=maxe(b);
// printf("a:%.0lf %.0lf/%.0lf %.0lf \n",a.a.x,a.a.y,a.b.x,a.b.y);
// printf("b:%.0lf %.0lf/%.0lf %.0lf \n",b.a.x,b.a.y,b.b.x,b.b.y);
// printf("A:%.0lf %.0lf/%.0lf %.0lf \n",ma.a.x,ma.a.y,ma.b.x,ma.b.y);
// printf("B:%.0lf %.0lf/%.0lf %.0lf \n",mb.a.x,mb.a.y,mb.b.x,mb.b.y);
if(ma.a.x>=mb.b.x&&ma.a.y>=mb.b.y)
{
if(mb.a.x>=ma.b.x&&mb.a.y>=ma.b.y)
{
}
else return 0;
}
else return 0;
Point yi=des(a.a,a.b);
Point er=des(b.a,a.b);
Point san=des(b.b,a.b);
int sh=sign(cross(yi,er)),ni=sign(cross(yi,san));
// printf("%d %d\n",sh,ni);
if(sh*ni<=0)
{
return 1;
}
return 0;
}
int main()
{
// freopen("ain.txt","r",stdin);//注释掉啊
// freopen("aout.txt","w",stdout);
list<edge>s;
edge e;
int len;
list<edge>::iterator p;
while(~scanf("%d",&n))
{
if(n==0)
{
break;
}
scanf("%lf%lf%lf%lf",&e.a.x,&e.a.y,&e.b.x,&e.b.y );
e.cnt=1;
s.push_back(e);
for(int i=2; i<=n; i++)
{
scanf("%lf%lf%lf%lf",&e.a.x,&e.a.y,&e.b.x,&e.b.y );
e.cnt=i;
s.push_back(e);
len=s.size();
p=s.begin();
for(int j=1; j<len; j++)
{
// printf("%d->%d(%d,%d)\n",i,j,cejiao((*p),e),cejiao(e,(*p)));
if(cejiao((*p),e)&&cejiao(e,(*p)))
{
p=s.erase(p);
}
else
{
p++;
}
}
}
p=s.begin();
len=s.size();
printf("Top sticks: ");
int i;
printf("%d",(*p).cnt);
p++;
for(i=1; i<len; i++)
{
printf(", %d",(*p).cnt);//,i
p++;
}
printf(".\n");
s.clear();
// ce();
}
return 0;
}

62
8.22/C.cpp Normal file
View File

@ -0,0 +1,62 @@
#include<cstdio>
#include<cstring>
using namespace std;
const int N=1005;
char s[N];
int a[N];
int main()
{
int n;
while(~scanf("%s%d",&s,&n))
{
int len=strlen(s);
for(int i=0; i<len; i++)
{
a[len-i]=s[i]-'0';
}
while(n--)
{
for(int i=len; i>0; i--)
{
while(a[i]==-1)
{
i--;
}
int j=i-1;
while(a[j]==-1)
{
j--;
}
if(a[i]>a[j])
{
a[i]=-1;
// printf("%d:%d,%d\n",n,i,j);
break;//
}
}
}
// for(int i=len; i>0; i--)
// {
// printf("%d",a[i]);
// }
// printf("\n");
while(a[len]<=0)//<= -> ,
{
len--;
}
bool tag=0;
for(int i=len; i>0; i--)
{
if(a[i]!=-1)
{
tag=1;
printf("%d",a[i]);
}
}
if(tag==0)
{
printf("0");
}
printf("\n");
}
}

43
8.22/ain.txt Normal file
View File

@ -0,0 +1,43 @@
2
1 0 1 1
1 0 1 1
2
1 0 1 1
1 1 1 2
2
1 2 1 3
1 4 1 5
3
2 1 1 1
2 1 3 1
4 1 5 1
2
1 1 2 2
2 2 3 3
2
2 2 3 3
2 2 3 3
2
2 2 3 3
4 4 5 5
2
1 1 4 4
2 2 2 6
5
1 1 2 2
1 1 2 2
1 2 1 3
2 2 3 3
4 4 6 6
5
1 1 4 2
2 3 3 1
1 -2.0 8 4
1 4 8 2
3 3 6 -2.0
3
0 0 1 1
1 0 2 1
2 0 3 1
0

11
8.22/aout.txt Normal file
View File

@ -0,0 +1,11 @@
Top sticks: 2.
Top sticks: 2.
Top sticks: 1, 2.
Top sticks: 2, 3.
Top sticks: 2.
Top sticks: 2.
Top sticks: 1, 2.
Top sticks: 2.
Top sticks: 3, 4, 5.
Top sticks: 2, 4, 5.
Top sticks: 1, 2, 3.

8
8.22/cin.txt Normal file
View File

@ -0,0 +1,8 @@
1 1
11111211 3
123564899 5
6384158 6
0 1
0 0
45965 0