佬们,c题为啥用字符去匹配一个样例都不对?

#include <bits/stdc++.h>
#define int long long 
using namespace std;
int dis(string a, string s,int y) {
    
  int count=0;
    for(int i=0;i<y;i++){
        if(a[i]==s[i]) continue;
        else count++;
    }
    return count;
}
signed main(){
    int T;
    cin>>T;
while(T--){
     string a;
     string s;
    int c;
    cin>>c;
    for(int i=0;i<c;i++){
        int a1;
        cin>>a1;
        if(a1>0) a+='1';
        else a+='0';
  }
      string s1;
      cin>>s1;
    for(int i=0;i<s1.size();i++){
      
        if(s1[i]=='>') s+='1';
        else if(s1[i]=='<') s+='0';
        else if(s1[i]=='Z') s+=s[i-1];
    }

    cout<<dis(a,s,c)<<endl;

}
}

我的思路是大于0的都转成‘1’,小于0的都转成‘0’,从s出发能得到最终正确的字符串,在和a的字符串匹配统计哪些01对不上,自己构造反例也没构造出来,特向大佬们求助!orz

全部评论
1 5 0 1 0 1 1 <ZZZZ
1 回复 分享
发布于 03-31 13:07 湖南

相关推荐

一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务