精华内容
下载资源
问答
  • #include <iostream> #include <string> using namespace std; int main(){ string str1,str2; int a[1000]={0}; int noe=0; int flag=0; cin>&...gt...
    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
      string str1,str2;
      int a[1000]={0};
      int noe=0;
      int flag=0;
      cin>>str1;  //接收第一个字符串 被比较的字符串
      cin>>str2;   //用于比较的字符串
      for(int i=0;i<str2.length();i++){    //外层的循环 从比较的字符串第一个开始 比较
        for(int j=0;j<str1.length();j++){   //内层循环 从被比较的第一个开始比较 str2中的每个字符都会和str1中的所有字符进行比较 直到找到相同的或者 没找到 则循环到str1的末尾
          if(str1[j]==str2[i]&&a[j]!=1){  //判断的函数 如果str2中的一个字符和str1中的字符相同 而且是不是之前就已配对过的 就把这个str1中的这个字符设置为 已配对
            a[j]=1;    //设置为已配对
            flag=1;    //设置为配对完成 才退出循环的
            break;
          }
        }
        if(flag==0){//如果是遍历到末尾才退出循环的 也就是没有找到匹配的 就noe自加;
          noe++;
        }
        flag=0;
      }
      if(noe==0){
        printf("Yes %d",str1.length()-str2.length());
      }
      else 
        printf("No %d",noe);
      return 0;
    }
    展开全文
  • pat B1039

    2021-04-19 19:32:38
    pat B1039 题目链接如下: 添加链接描述 代码如下: #include<deque> #include<iostream> #include<string> using namespace std; int main() { string s1, s2; cin >> s1 >> s2; ...

    pat B1039

    题目链接如下:
    添加链接描述

    代码如下:

    #include<deque>
    #include<iostream>
    #include<string>
    
    using namespace std;
    int main() {
    	string s1, s2;
    	cin >> s1 >> s2;
    
    	deque<int> hash(128, 0);
    	for (int i = 0; i < s2.size(); i++) {
    		hash[s2[i]]++;
    	}
    
    	for (int i = 0; i < s1.size(); i++) {
    		for (int j = 0; j < hash.size(); j++) {
    			char c = j + '0';
    			if (s1[i] == c){
    
    				if (hash[c] - 1 >= 0) {
    
    					hash[c]--;
    				}
    			}
    
    		}
    	}
    
    
    	int cnt2 = 0, cnt3 = 0;
    	for (int i = 0; i < hash.size(); i++) {
    		cnt3 = cnt3 + hash[i];
    	}
    
    	if (cnt3 == 0) {
    		cout << "Yes" << " " << s1.size() - s2.size() << endl;
    	}
    	else cout << "No" << " " << cnt3 << endl;
    	
    
    	system("pause");
    	return 0;
    }
    
    展开全文
  • 思路:这道题就是就是遍历,但是必须注意一个问题:abcde aa 如果这两个数组,先拿出第二个字符串的第一个字母a依次和第一个字符串的字母进行比较,但是要注意如果继续...空格 bcde"之后再进行遍历。   小红...

    思路:这道题就是就是遍历,但是必须注意一个问题:abcde   aa   如果这两个数组,先拿出第二个字符串的第一个字母a依次和第一个字符串的字母进行比较,但是要注意如果继续用第二个字符串中的第二个字母a继续进行遍历,则会发现又会成功,但显然是不对的,所以我们就用空格“  ”代替第一个字符串中遍历成功的字母,如第一遍遍历之后的一个字符串就变为了:

    "空格 bcde"之后再进行遍历。

     

    小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。

    为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。

    figbuy.jpg

    图 1

    输入格式:

    每个输入包含 1 个测试用例。每个测试用例分别在 2 行中先后给出摊主的珠串和小红想做的珠串,两串都不超过 1000 个珠子。

    输出格式:

    如果可以买,则在一行中输出 Yes 以及有多少多余的珠子;如果不可以买,则在一行中输出 No 以及缺了多少珠子。其间以 1 个空格分隔。

    输入样例 1:

    ppRYYGrrYBR2258
    YrR8RrY
    

    输出样例 1:

    Yes 8
    

    输入样例 2:

    ppRYYGrrYB225
    YrR8RrY
    

    输出样例 2:

    No 2
    

     

    #include <stdio.h>
    #include <string.h>                           
    int main(){
    	char str1[1001];
    	char str2[1001];
    	gets(str1);
    	gets(str2);                             //输入
    	int i=0,j=0,f=0,count=0;
    	for(i=0;i<strlen(str2);i++){
    		for(j=0;j<strlen(str1);j++){
    			if(str2[i]==str1[j]){
    				str1[j]=' ';     //用空格代替
    				count++;
    				if(count==strlen(str2))
    					f=1;
    				break;
    				
    			}
    			if(count!=strlen(str2)&&i==strlen(str2)){    保证遍历完成
    				f=0;
    			} 
    		
    		}
    		
    	}
    	if(f==1){
    		printf("Yes %d",strlen(str1)-strlen(str2));
    	}
    	if(f==0){
    		printf("No %d",strlen(str2)-count);
    	}
    	return 0;
    } 

    strlen(  )为计算字符串长度的函数,但要使用,前面必须写上#include <string.h>

    总结:有什么问题欢迎大家指出,如果喜欢就请关注哦~~

    展开全文
  • 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子...

    小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。

    为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。在这里插入图片描述
    输入格式:
    每个输入包含 1 个测试用例。每个测试用例分别在 2 行中先后给出摊主的珠串和小红想做的珠串,两串都不超过 1000 个珠子。

    输出格式:
    如果可以买,则在一行中输出 Yes 以及有多少多余的珠子;如果不可以买,则在一行中输出 No 以及缺了多少珠子。其间以 1 个空格分隔。

    输入样例 1:

    ppRYYGrrYBR2258

    YrR8RrY

    输出样例 1:

    Yes 8

    输入样例 2:

    ppRYYGrrYB225

    YrR8RrY

    输出样例 2:

    No 2

    题目解析
    字符串的匹配问题。
    定义字符串s1代表摊主的珠串(总珠串),字符串s2代表小红想要的珠串(小珠串),用result把总珠串的个数统计下来,如果小珠串和总珠串配对成功,就把result-1,把这个小珠珠从小珠串去掉,方便下次对剩余的小珠串配对。接下来我们判断小珠串是否为空

    • 如果小珠串为空,说明全部配对成功,此时的result就是总珠串中剩余没有配对的个数
    • 如果小珠串不为空,说明在总珠串中找了一圈没找到,输出小珠串此时的个数,就是没配对成功的个数

    预备知识

    • str.erase(it)用于删除单个元素,it指需要删除的元素
    • str.find(str2),当str2是str的子串时,返回其在str中第一次出现的位置;如果str2不是str的子串,那么返回string::npos


    str.find(str2),当str2是str的子串时,返回其在str中第一次出现的位置。。这句话很重要,删除的是当前配对上的字符。并不是如果配对上,就把这个字符都删除掉。

    #include<stdio.h>
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	string s1,s2;
    	cin>>s1;
    	cin>>s2;
    	int result=s1.length() ;
    	for(int i=0;i<s1.length() ;i++)
    	{
    		if(s2.find(s1[i])!=string::npos)
    		{
    			result--;
    			s2.erase(s2.begin()+s2.find(s1[i])); 
    		}	
    	}
    	if(s2.length()==0)
    		{
    			printf("Yes %d",result);
    		}
    	else printf("No %d",s2.length() );
    	return 0;
    }
    

    抒发心情
    这是我自己想出来的思路,感觉从现在开始我量变已经积累到质变了,我要自信起来(感谢柳女神)

    • 只是在扎根,总有一天,我会势如破竹
    • 我只是暂时和你们一样
    展开全文
  • PAT B1039 到底买不买

    2019-02-12 09:03:02
    PAT B1039 二、解题思路 散列两次,对于某个字符的散列值,如果为正说明该珠子有富余,为负说明该珠子不够,然后分别统计总和即可。 三、参考代码 #include&lt;iostream&gt; #include&lt;string&...
  • B1039 到底买不买

    2020-03-03 18:39:34
    思路: 用int型数组hashTable记录第一串中每种颜色珠子的个数 然后枚举第二穿字符串字符,对应...C++代码: #include<cstdio> #include<cstring> int hashTable[100]={0}; int miss=0; int change(char...
  • PAT B1039 代码 #include<stdio.h> #include<string.h> int main() { int a[128]={0}; char s[1010],ss[1010]; gets(s); int len1=strlen(s); for(int i=0;i<len1;i++) { a[s[i]]++; } ....
  • PAT B1039 到底买不买

    2020-02-12 17:55:15
    题目难度:一颗星 题目大意:给定卖家的一串珠子,自己想要一串珠子,如果卖家的完全包括了...代码如下: #include<iostream> #include<stdlib.h> #include<queue> #include<stack> #inc...
  • B1039】 到底买不买

    2018-02-19 11:02:59
    提交代码:小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少...
  • PAT 1039

    2016-09-21 19:39:49
    1039. 到底买不买(20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小红想买些珠子做一串自己...
  • 题目 ...AC代码 #include <bits/stdc++.h> using namespace std; int main(){ int cha=0; int hash[1000],numa=0;memset(hash,0,sizeof(hash)); string s1,s2; cin>>s1; int
  • PAT1039

    2016-03-05 13:46:11
    1039. 到底买不买(20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小红想买些珠子做一串自己...
  • 1092 To Buy or Not to Buy (20)(20 分) 作者: CHEN, Yue ...代码长度限制: 16KB Eva would like to make a string of beads with her favorite colors so she went to a small shop to ...
  • PAT甲级1039

    2017-01-23 15:01:49
    1039. Course List for Student (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Zhejiang ...
  • 题目链接:点击打开链接知识点笔记:AC代码:两种方法#include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; using namespace std; void f1(); const int MAXN =...
  • PAT乙级1039

    2017-12-25 22:41:23
    1039. 到底买不买(20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小红想买些珠子做一串自己...
  • AC代码 #include<cstdio> #include<cstring> int main(){ char sell[1010],buy[1010]; int record[128]={0};//record[i]表示i所代表的珠子的个数 scanf("%s%s",sell,buy);//分别输入摊贩卖的珠串和...
  • 1039 到底买不买

    2020-06-14 11:17:05
    1039 到底买不买解题代码测试结果问题整理 解题代码 #include<cstdio> #include<cstring> #include<unordered_map> using namespace std; int main() { char a[1001], b[1001]; scanf("%s%s", a...
  • PAT(甲级)1039

    2015-09-26 10:01:30
    1039. Course List for Student (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Zhejiang ...
  • CF1039C.Network Safety

    2019-10-06 17:13:18
    目录 题目链接 题解 代码 ...对于一对相邻点,^异或后相同的值唯一a_i ^ t= b_i,a_i ^ b_i = t 对于不在t集合的直接算上 对于t集合,对于每个t分别计算联块的个数,然后加上联通块子集个数...
  • 1039. 到底买不买

    2017-10-03 18:55:50
    1039. 到底买不买(20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色...
  • 1039. Course List for Student (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Zhejiang University has 40000 students and ...
  • 1039. 到底买不买(20)

    千次阅读 2015-03-14 21:10:30
    题目链接:http://www.patest.cn/contests/pat-b-practise/1039 1039. 到底买不买(20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 ...
  • 题目链接:1039:点击打开链接 1047:点击打开链接 1039. Course List for Student (25) ...代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Zhejiang Univ
  • 1039. 到底买不买(20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小红想买些珠子做一串自己...
  • 题目链接:http://www.patest.cn/contests/pat-a-practise/1039 题目: 1039. Course List for Student (25) 时间限制 ...代码长度限制 16000 B 判题程序 Standa...

空空如也

空空如也

1 2 3 4 5 6
收藏数 118
精华内容 47
关键字:

代码1039b