字符输入问题

求助大佬
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
map<char,map<int,int> >p;
set<char>q;
set<char> ::iterator itq;
int main()
{
     int t;
     int x;
     char a;
     while(cin>>t){
          char c;
          cin>>c;
          while(t--){
          for(int i=0;i<14;i++)
               cin>>x>>a,p[a][x]++,q.insert(a);
          if(q.size()==3){cout<<"No"<<endl;q.clear(),p.clear();}
          else {
               int now=0,next=0;
               for(itq=q.begin();itq!=q.end();itq++){
                    char b=*(itq);
                    if(b==c){
                         now=0;break;
                    }
                    for(int i=1;i<=9;i++){
                         if(p[b][i]==2)now++;
                         else if(p[b][i]==3)next++;
                    }
               }
               if(now==7||(next==4&&now==1))cout<<"Yes"<<endl;
               else cout<<"No"<<endl;
               q.clear();
               p.clear();
          }
          }
     }
}
问题就在cin>>x>>a这里,改成
 string s;
 cin>>s;
 for(int i=0;i<14;i++)
 p[s[2*i+1]][s[2*i]-'0']++,q.insert(s[2*i+1]);
就行,感觉没啥差别啊


全部评论
非常抱歉,上周日应该是上传了正确数据但是没有保存。在那个位置的一个数字被打成了字母,现在问题已经修复。
2 回复 分享
发布于 2019-11-21 19:35
垃圾数据我 14组输入每次   int char    num>>str;就错了  改成    char  char   num>>str>>就对了 
1 回复 分享
发布于 2019-11-17 19:03

相关推荐

牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务