目录
A - A Secret
题目
思路
代码
总结
B - Friend-Graph
ac
#include<iostream>
#define maxx 30
using namespace std;
typedef long long ll;
int a[maxx][maxx];
int main()
{
int T;
cin>>T;
while (T--)
{
int n;
cin>>n;
if (n>6)
{
cout<<"Bad Team!"<<endl;
break;
}
for (int i = 1; i < n; ++i)
{
for (int j = i+1; j <= n; ++j)
{
cin>>a[i][j];
a[j][i] = a[i][j];
}
}
// for (int i = 1; i <= n; ++i)
// {
// for (int j = 1; j <= n; ++j)
// {
// cout<<a[i][j]<<' ';
// }
// cout<<endl;
// }
int f=0;
for (int i = 1; i <= n; ++i)
{
int c1=0,c2=0;
for (int j = 1; j <= n; ++j)
{
if (a[i][j]==0)
c1++;
else
c2++;
if (c1>=4 || c2>=3)
{
f=1;
break;
}
}
c1=0,c2=0;
for (int j = 1; j <= n; ++j)
{
if (a[j][i]==0)
c1++;
else
c2++;
if (c1>=4 || c2>=3)
{
f=1;
break;
}
}
if (f==1)
break;
}
if (f==1)
cout<<"Bad Team!"<<endl;
else
cout<<"Great Team!"<<endl;
}
return 0;
}
D - Minimum’s Revenge
ac
#include<iostream>
#define maxx 30
using namespace std;
typedef long long ll;
int main()
{
int n;
cin>>n;
for (int i = 1; i <= n; ++i)
{
ll x;
cin>>x;
printf("Case #%d: ",i);
cout<<(1+x)*x/2-1<<endl;
}
return 0;
}
E - Mr. Frog’s Problem
ac
猜的,一开始忘了ll格式
#include<iostream>
#define maxx 30
using namespace std;
typedef long long ll;
int main()
{
int t;
cin >> t;
ll cnt = 0;
while (t--)
{
ll a, b;
cin >> a >> b;
printf("Case #%d:\n", ++cnt);
if (a == b)
{
cout << 1 << endl;
cout << a << ' ' << b<< endl;
}
else
{
cout << 2 << endl;
if (a < b)
{
cout << a << ' ' << b<< endl;
cout << b << ' ' << a<< endl;
}
else
{
cout << b << ' ' << a<< endl;
cout << a << ' ' << b<< endl;
}
}
}
return 0;
}
F - Mr. Frog’s Game
ac
要注意的是遍历从一开始边边上:不仅是对[1][1][n][m]的,而是一列中有相同的即可,然后在中间是必须要相邻才阔以~
#include<iostream>
#define maxx 50
using namespace std;
typedef long long ll;
int a[maxx][maxx];
int main()
{
int t;
cin>>t;
for (int k = 1; k <= t; ++k)
{
int n,m;
cin>>n>>m;
int f = 0;
for (int i = 1; i <= n; ++i)
{
for (int j = 1; j <= m; ++j)
{
cin>>a[i][j];
}
}
//bianbian
for (int i = 1; i < m; ++i)
{
for (int j = i+1; j <= m; ++j)
{
if (a[1][i] == a[1][j] || a[n][i]==a[n][j])
f=1;
}
}
for (int i = 1; i < n; ++i)
{
for (int j = i+1; j <= n; ++j)
{
if (a[i][1] == a[j][1] || a[i][m]==a[j][m])
f=1;
}
}
//zhongjian
for (int i = 1; i <= n; ++i)
{
for (int j = 1; j <= m; ++j)
{
if (i!=n &&a[i][j] == a[i+1][j])
f=1;
if (j!=m && a[i][j]==a[i][j+1])
f=1;
}
}
printf("Case #%d: ",k);
if(f==1)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}