1072 开学寄语,AC时三个测试都通不过,提示格式错误,答案错误,求助
 //1072 开学寄语v1
#include <iostream>
#include <map>
using namespace std;

int main(){
    int N,M,i,j,t,tem,stucnt=0,goods=0,n;   cin>>N>>M;
    int check[M];
    string name;
    map<string,int> mp;
    for(i=0;i<M;i++)    cin>>check[i];

    for(i=0;i<N;i++){   //N个学生 
        int k=1;
        cin>>name>>n;
        for(j=0;j<n;j++){
            cin>> tem;
            for(t=0;t<M;t++){
                if(tem==check[t]){
                    goods++;    //存在一件,要被计数 
                    if(k==1){   //只输出一遍姓名 
                        k--;
                        cout<<name<<":";
                    }
                    if(k==0)    cout<<" "<<tem; //每次输出物品编号前有个空格 
                    if(mp[name]==0){
                        mp[name]++;
                        stucnt++;
                    }   
                }
            }
            if(j==n-1)  cout<<endl;
        }
    }
    cout<<stucnt<<" "<<goods<<endl; 
    return 0;
}
c++

3个回答

2个错误
1:由于物品为4位的数字,而你用int接受之后,会舍弃前面的0,要么你改用string,要么用iomanip里的函数或者printf控制输出
2,换行的问题,如果某个学生没有违禁物品,就不用输出他的信息(k仍为1);

 #include <iostream>
#include<string>
#include<iomanip>
#include <map>
using namespace std;
int main() {
    int N, M, i, j, t, tem, stucnt = 0, goods = 0, n;   cin >> N >> M;
    int check[8];
    string name;
    map<string, int> mp;
    for (i = 0; i < M; i++)
        cin >> check[i];
    for (i = 0; i < N; i++) {   //N个学生 
        int k = 1;
        cin >> name >> n;
        for (j = 0; j < n; j++) {
            cin >> tem;
            for (t = 0; t < M; t++) {
                if (tem == check[t]) {
                    goods++;    
                    if (k == 1) {  
                        k--;
                        cout << name << ":";
                    }
                    if (k == 0)
                        cout << " " << setw(4) << setfill('0') << tem; //ERROR 1
                    if (mp[name] == 0) {
                        mp[name]++;
                        stucnt++;
                    }
                }
            }
            if (j == n - 1 && k == 0)   //ERROR 2
                cout << endl;
        }
    }
    cout << stucnt << " " << goods << endl;
    return 0;
}
zhanshen112
吉大秦少游 嗯,说的很对,错误1我用输出“%04d”解决了;错误2确实少考虑了k==0才说明是有违禁物品,这时候才能换行,而不是查到学生物品的最后一件就换行。谢谢
10 个月之前 回复

推荐一个好用的C/C++在线编译器:https://www.winfengtech.com/compile.htm

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
PAT 1072 开学寄语
1072 开学寄语 (20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤ 1000)和 M(≤ ...
1072 开学寄语
1072开学寄语(20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤1000)...
1072 开学寄语 python
1072 开学寄语 (20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤ 1000)...
1072 开学寄语 Python实现
1072开学寄语(20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤1000)...
1072 开学寄语 (20 分)
#include &amp;lt;iostream&amp;gt; #include &amp;lt;cstdio&amp;gt; using namespace std; int sSum=0,gSum=0; int main() { int n,m; cin&amp;gt;&amp;gt;n&amp;gt;&amp;gt;m; int a[m]; for(int i=0;i&amp;lt;m;i++){ ci...
1072 开学寄语(20 分)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需...
【PAT乙级】1072 开学寄语
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需...
PAT乙级 1072 开学寄语
这个题要注意输出格式,物品编号为整数,但输出的时候要4位,不足位前位补0;不然第三个测试点过不了#include <iostream> #include <set> #include <string> #include <vector> using namespace std; struct Node{ string name; int numSigle; vector<in
1072 开学寄语(C语言)
设计思路: 直接多重循环,依次判断,输出
1072 开学寄语 (20 分)
输入格式: 输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位学生的姓名缩写(由 1-4 个大写英文字母组成)、个人物品数量 K(0 ≤ K ≤ 10)、以及 K 个物品的编号。 输出格式: 顺次检查每个学生携带的物品,如果有需要被查缴的物品存在,则按以下格...
1072 开学寄语——C++实现
题目 1072 开学寄语 (20 point(s)) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正...
PAT 乙级 1072 开学寄语(20 分)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种...
PAT 1072 开学寄语(20)(代码+思路)
1072 开学寄语(20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤ 1000)和...
1072 开学寄语 (20 分) python
N,M = map(int, input().split(&quot; &quot;)) list1 = input().split(&quot; &quot;) dict1 = {} people = 0 things = 0 for i in range(N): ipt_list = input().split(&quot; &quot;) for j in ipt_list[2:] : if j in list1 a...
1072 开学寄语(20)(20 分)
1072 开学寄语(20)(20 分)当你看不到图的时候千万别要怀疑 因为 我也看不到图~下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给...
(乙)1072 开学寄语 (20 分)
题目: 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤1000)和 M(≤6),分别是学...
PAT-乙-1072 1072 开学寄语 (20 分)
代码 #include &amp;lt;iostream&amp;gt; using namespace std; int main() { int N, M; scanf(&quot;%d %d&quot;, &amp;amp;N, &amp;amp;M); int a[10000] = {0}; for(int i=0; i&amp;lt;M; i++) { int t; scanf(&quot;%d&quot;, &amp;amp;t); a[...
(PAT乙级)1072 开学寄语(C语言实现)
总结: 1、一开始思路就错了,因为看到以一个个学生的信息为个体,很容易会想用结构体,但这题没法使用结构体,因为每个人后面所带物品的数量是不确定的,没办法在定义数组时给出具体值,且若想输入值也是可以的不过需要循环,这会造成很多重循环。 2、正确思路:Hash散列思想还是不能忘呀,定义一个forbid数组,对应编码为下标,若下标为被查缴的物品编号,则对应的值记为1。然后对应个人物品的编号只...
PAT 乙级 1072 开学寄语(C语言代码+分析)
PAT 乙级 1072 开学寄语(C语言代码+分析)1. 题目2. 输入格式:3. 输出格式:4. 输入样例:5. 输出样例6. 分析:7. 代码: 1. 题目 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器 2. 输入格式: 输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号...
1072. 开学寄语(20)
字符串处理#include&amp;lt;set&amp;gt; #include&amp;lt;cstdio&amp;gt; #include&amp;lt;string&amp;gt; #include&amp;lt;iostream&amp;gt; using namespace std; int main() { int n,m,i,j,k; string x,y; set&amp;lt;string&amp;gt; s; int stu=0,cnt=0; ...
PAT-1072 开学寄语
1072 开学寄语 (20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤ 1000)...
PAT-BASIC1072——开学寄语
我的PAT-BASIC代码仓:https://github.com/617076674/PAT-BASIC 原题链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144 题目描述: 知识点:标记数组 思路:用一大小为10000的数组标记需要被查缴的物品 时间复杂度是O(n),其中n...
PAT 1072. 开学寄语
PAT 1072. 开学寄语(20)描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!! [这里写图片描述](http://img.blog.csdn.net/20171104111018031?watermark/2/text
1072. 开学寄语
一、题目下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数N(<= 1000)和M(<= 6),分别是学生人数和需要被查缴的物品种
1072.开学寄语
开学寄语(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! ...
【PAT乙级】开学寄语
题目描述: 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤1000)和 M(≤6),分别...
老是提示格式错误!
if (e.Row.RowIndex >= 0)rn rn sumIn += Convert.ToDouble(e.Row.Cells[3].Text);rn sumOut += Convert.ToDouble(e.Row.Cells[4].Text);rnrn rn else if (e.Row.RowType == DataControlRowType.Footer)rn rn e.Row.Cells[2].Text = "总计:";rn e.Row.Cells[3].Text = sumIn.ToString();rn e.Row.Cells[4].Text = sumOut.ToString();rn e.Row.Cells[5].Text = "结余:";rn remain =Convert.ToDouble(Session["bookInit"]) + sumIn - sumOut;rn e.Row.Cells[6].Text = remain.ToString();rnrn rnrn可以确定cells[3]和cells[4]里面都是数字格式(0.00)字符串。不知道什么原因老是提示格式错误。
在打开 NUnit 测试样例时出现“格式错误”的提示
在打开 NUnit 测试样例时会出现“格式错误”的提示,请问这是怎么回事呢?测试源代码如下:rnrnusing System;rnusing NUnit.Framework;rnrnnamespace ReaderSystemffrnrn [TestFixture]rn public class ReaderSystemTesterffrn rn public ReaderSystemTesterff()rn rn rnrn [SetUp]rn public void ReaderSystemTesterSetUp()rn rn rnrn [TearDown]rn public void ReaderSystemTesterTearDown()rn rn rn rnrnrn使用的是 NUnit 2.2/.NET 2.0,即使打开 NUnit 自带的 Sample 还是会提示“格式错误”
PAT乙 1072. 开学寄语
1072. 开学寄语(20)下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数N(&amp;lt;= 1000)和M(&amp;lt;= 6),...
PAT1072 开学寄语 (20 分)
题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144 思路:     由于物品编号是4位数字组成的,也就是说物品最多有10000个。可以开一个1000的bool数组p[10000],初始化为false,表示该物品不是违规物品。如果i是违规物品, 那么p[i] = true。设一个bool...
PAT-B1072 开学寄语(20 分)
分析: 没什么好分析的。
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件