| A | 这波啊,这波是..... |
先存数组然后i,j调换,即可
顺时针
for(j=n-1;j>=0;j--)
{
for(i=0;i<n;i++)
{
cout<<a[i][j];
}
cout<<endl;
} 逆时针 for(j=0;j<n;j++)
{
for(i=n-1;i>=0;i--)
{
cout<<a[i][j];
}
cout<<endl;
}
完整代码: #include<iostream>
using namespace std;
#define maxn 1005;
char a[maxn][maxn];
int main()
{
int n,i,j;
cin>>n;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
}
}
for(j=0;j<n;j++)
{
for(i=n-1;i>=0;i--)
{
cout<<a[i][j];
}
cout<<endl;
}
} | C | 电竞希金斯 |
#include<iostream>
#include<cstdio>
#include<string.h>
#include<string>
#include<cmath>
#include<algorithm>
#define IO ios::sync_with_stdio(false), cin.tie(0)
typedef unsigned long long ull;
typedef long long ll;
#pragma GCC optimize(2)
using namespace std;
int main()
{
IO;
double a,b,c;
cin>>a>>b>>c;
a=-1*a;
c=-1*c;
//cout<<c/b<<endl;
double s=0,m;
if(b==0)
{
if(a==0)
{
cout<<"non"<<endl;
}
else
{
m=(-1)*c/a;
if(m>0)
{
cout<<"1 4"<<endl;
}
else if(m<0)
{
cout<<"2 3"<<endl;
}
else
{
cout<<"non"<<endl;
}
}
}
else
{
s=a/b;
m=c/b;
if(s>0)
{
if(m>0)
{
cout<<"1 2 3"<<endl;
}
else if(m<0)
{
cout<<"1 3 4"<<endl;
}
else
{
cout<<"1 3"<<endl;
}
}
else if(s<0)
{
if(m>0)
{
cout<<"1 2 4"<<endl;
}
else if(m<0)
{
cout<<"2 3 4"<<endl;
}
else
{
cout<<"2 4"<<endl;
}
}
else
{
if(m>0)
{
cout<<"1 2"<<endl;
}
else if(m<0)
{
cout<<"3 4"<<endl;
}
else
{
cout<<"non"<<endl;
}
}
}
}
| F | 这题多捞啊 |
2. 不存在一个划分将集合划分成和相等的两部分,也就是说,集合的任意子集和均不为n。
第二条是关键,分两种考虑,奇偶判断。假设输入4,那如果输出2 2 2 2,则违反第二条条件,即在第二个与第三个之间划分开来会形成和相等的两部分。因此输入偶数只能够输出一行结果;输入奇数,便可以输出两行结果。
在开始前做一个特判,如果输入1,则直接输出2.
#include<iostream>
using namespace std;
int main()
{
ll n,i;
cin>>n;
if(n==1)
{
cout<<2<<endl;
}
else
{
if(n&1)
{
for(i=0;i<n-1;i++)
{
if(i)
cout<<' ';
cout<<1;
}
cout<<' '<<n+1<<endl;
for(i=0;i<n;i++)
{
if(i)
{
cout<<' ';
}
cout<<2;
}
cout<<endl;
}
else
{
for(i=0;i<n-1;i++)
{
if(i)
{
cout<<" ";
}
cout<<1;
}
cout<<' '<<n+1<<endl;
}
}
}

京公网安备 11010502036488号