字符输入问题

求助大佬
#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

相关推荐

沐芷凌曦:这简历数分别指望了,数分最基本的SQL能力你的经历是完全没办法佐证的,而且简历排版极其混乱。你的奖项为什么要写具体的项目内容;教育经历为什么要写你在什么课学到了什么东西,这些都应该是在专业技能里的;专业技能里你又把项目的内容放了进来,而且专业技能你又在强调ETL,如果说你确定要把ETL作为你专业技能的主体那你的经历为什么不能重点佐证呢;反而项目经历你项目等于你调用PyEcharts做了一个看板,就是最基本的课程设计,也是没办法佐证你对PyEcharts的掌握程度,而且没有说具体用什么技术做了什么东西中间做了什么最终得到了什么结果。
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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