文章

10

粉丝

102

获赞

0

访问

4.9k

头像
字符串查询 题解:错误50% 有没有大哥看看
P1738 华东师范大学2020年机试题
发布于2024年3月15日 16:59
阅读数 525

#include<bits/stdc++.h>
using namespace std;
bool cmp(char a,char b){
    return a<b;
}
int main(){
    string str;
    cin>>str;
    int n;
    int a,b,c,d;
    char a1[50000];
    char a2[50000];
    while(cin>>n){
        for(int i=0;i<n;i++){
            
            cin>>a>>b>>c>>d;
            for(int i=a-1;i<b;i++){
                a1[i-a+1]=str[i];
            }
            
            for(int i=c-1;i<d;i++){
                a2[i-c+1]=str[i];
            }
            
            stable_sort(a1,a1+b-a,cmp);
            stable_sort(a2,a2+d-c,cmp);
            
            //cout<<a1<<" "<<a2;
            int flag=1;
            for(int i=0;i<b-a;i++){
                if(a1[i]!=a2[i]){
                    flag=0;
                }
            }
            if(flag==1){
                cout<<"DA"<<endl;
            }
            else cout<<"NE"&l...
登录查看完整内容


登录后发布评论

3 条评论
snake VIP
2024年3月15日 19:11

排序的下标处理不对

赞(0)

08193003 : 回复 snake: stable_sort(a1,a1+b-a+1,cmp); stable_sort(a2,a2+d-c+1,cmp);改了一下 变成75%了。

2024年3月16日 18:32

snake : 回复 08193003: 这个题输入数据量比较大,需要在主函数里加两行代码,ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);或者把cin改成scanf都可以

2024年3月16日 19:16