void zimufanyi()
{
int k=0;
cin>>k;//
k=k%26;
if (k>=1&&k<=26)
{
char a[1000];
cin>>a;
int l=strlen(a);
for (int i=0;i<l;i++)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
{
if((a[i]-k>='a'&&a[i]-k<='z')||(a[i]-k>='A'&&a[i]-k<='Z'))
{
a[i]=a[i]-k;
}
else
{
if (a[i]>='a'&&a[i]<='z')
{
int k1=a[i]-'a'+1;
a[i]='z'-(k-k1);
}
else
{
if (a[i]>='A'&&a[i]<='Z')
{
int k1=a[i]-'A'+1;
a[i]='Z'-(k-k1);
}
}
}
}
}
for (int i=0;i<l;i++)
{
cout<<a[i];
}
}
}
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int a[100][100];
int main(int argc, char** argv) {
int k,n,cnt=0;//k轮,n个学生
cin>>k>>n;
for (int i=1;i<=k;i++)
{
for (int j=1;j<=n;j++)//排名
{
int x;
cin>>x;
a[i][x]=j;
}
}
for (int i=1;i<=k;i++)
{
for (int j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl ;
}
int sum=0;
for (int i=1;i<=n;i++)//选择i同学
{
for (int j=1;j<=n;j++)//选择j同学
{
if (i!=j)
{
bool flag=false;
for (int l=1;l<=k;l++)
{
sum++;
//第l轮,第i同学和第j同学
if (a[l][i]<a[l][j])
{
}
else
{
flag=true;
break;
}
}
if (flag==false)
{
cout<<i<<"完胜"<<j<<";";
cnt++;
cout<<endl;
}
}
}
}
cout<<cnt<<endl;
//循环次数
cout<<sum<<endl;
return 0;
}
#include <algorithm>
#include <cmath>
void f2()
{
double a[100010];
int n;
cin>>n;
for (int i=1;i<n;i++)
{
cin>>a[i];
}
sort(a+1,a+n);//排序
cout<<endl;
for (int i=1;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
/*
1 最大值/2
2 比较 最大值/2 大于等于 次大值
3 如果为真, 最大值/3 大于等于 次大值 ;为真 显示 最大值/3(向上取整);为假 显示 次大值
4 如果为假 , (1)最大值/2 大于 次次大值 ; 为真 最大值/2(向上取整);为假 显示 次次大值
*/
double x=a[n-1]/2;//最大值切割
if (x>=a[n-2])
{
double z=a[n-1]/3;
if (z>=a[n-2])
{
cout<<ceil(z);
}
else
{
cout<<a[n-2];
}
}
else
{
if (x>=a[n-3])
{
cout<<ceil(x);
}
else
{
cout<<a[n-3];
}
}
/*
//1
double x=a[n-1]/2;//最大值切割
double y=a[n-2]/2;//次大值切割
double ans1 =max(x,a[n-3]);//x与次次大值比较 a[n-3]比较
//2
double z=a[n-1]/3;//最大值切割3份
double ans2 =max(z,a[n-2]);//x与次次大值比较 a[n-3]比较
double ans=min(ans1,ans2);
int res=ceil(ans);
cout<<res;
*/
}