社区讨论
P9868 [NOIP2023] 词典暴力求优化
学术版参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lzqzjp9e
- 此快照首次捕获于
- 2024/08/12 20:44 2 年前
- 此快照最后确认于
- 2024/08/12 21:36 2 年前
因为题目总版没人看,所以搬到这里来了......
以下是芶蒻代码:
CPP#include<bits/stdc++.h>
using namespace std;
struct double_string
{
string s,s_up,s_down;
};
bool cmp_up(char a,char b)
{
if(a==b)return false;
return a<b;
}
bool cmp_down(char a,char b)
{
if(a==b)return false;
return a>b;
}
string sort_string(string s,string flag)
{
int size=s.size();
if(flag=="up")
sort(s.begin(),s.end(),cmp_up);
else if(flag=="down")
sort(s.begin(),s.end(),cmp_down);
else cout<<"sortERR";
return s;
}
bool compare(string a,string b)
{
if(a==b)return false;
for(int i=0;i<a.size();i++)
if(a[i]!=b[i])return a[i]<b[i];
cout<<"compareERR";
return false;
}
int main()
{
double_string str[3005];
int n,m;
cin>>n>>m;
if(n==1)
{
cout<<1;
return 0;
}
for(int i=1;i<=n;i++)
{
cin>>str[i].s;
str[i].s_up=sort_string(str[i].s,"up");
str[i].s_down=sort_string(str[i].s,"down");
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(j==n)cout<<1;
if(i==j)continue;
//if(i==15)cout<<i<<" "<<j<<" "<<str[i].s_up<<endl<<str[j].s_down<<endl<<compare(str[i].s_up,str[i].s_down)<<endl<<endl;
if(!compare(str[i].s_up,str[j].s_down))
{
cout<<0;
break;
}
}
}
// cout<<compare("nnnoott","nnbaaaa");
return 0;
}
%@dalao
回复
共 0 条回复,欢迎继续交流。
正在加载回复...