PAT 1058. 选择题(20) C++
来源:互联网 发布:部落战争英雄升级数据 编辑:程序博客网 时间:2024/06/05 02:33
#include <iostream>#include <stdio.h>#include <string>#include <string.h>using namespace std;int main(){ int N,M;cin>>N>>M;getchar();int score[M];int Cnum[4];int Tnum[4];char answer[1000];string str1[M];for(int i=0;i<M;i++) { char answer[1000]={""};cin>>score[i]>>Cnum[i]>>Tnum[i];for(int j=0;j<Tnum[i];j++) { cin>>answer[j];}str1[i] = answer;//cout<<str1[M-1]<<" ";}//for(int i=0;i<M;i++){ // cout<<str1[i]<<" ";//}int choose;char ans[1000];string str2[M];int sum[1000]={0};int num[1000]={0};//for(int i=0;i<M;i++){ // cout<<score[i]<<endl;//}for(int i=0;i<N;i++) { scanf("\n");//格式部分for(int k=0;k<M;k++) { if(k != 0) scanf(" "); char ans[1000]={""}; scanf("(%d", &choose);//cin>>choose;for(int j=0;j<choose;j++) {cin>>ans[j];}scanf(")");str2[k] = ans;//cout<<str2[k]<<" ";//cout<<str1[k]<<endl<<str2[k]<<endl;if(str1[k]==str2[k]) {sum[i]=sum[i]+score[k];}else {num[k]++;}//cout<<sum[i]<<endl;}}for(int i=0;i<N;i++) {cout<<sum[i]<<endl;}int tig=0,max=0;for(int i=0;i<M;i++) {tig+=num[i];}if(tig==0) {cout<<"Too simple";}else {for(int j=0;j<M;j++) {if(num[j]>max) { max=num[j]; }}cout<<max;for(int z=0;z<M;z++) {if(max==num[z]) {cout<<" "<<z+1;}}} return 0;}
输入()格式部分改了好多次,还有段错误。
下面是没有写格式的java代码。真心写不下去,格式太难整了qaq。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int N = sc.nextInt();int M = sc.nextInt();int[] score = new int[M];int[] Cnum = new int[4];int[] Tnum = new int[4];String[] answer = new String[4];String[] str1 = new String[M];for(int i=0;i<M;i++) {score[i] = sc.nextInt();Cnum[i] = sc.nextInt();Tnum[i] = sc.nextInt();for(int j=0;j<Tnum[i];j++) {answer[j] = sc.next();}for(int z=0;z<Tnum[i];z++) {str1[i] = str1[i]+answer[z];}}//for(int i=0;i<M;i++) {//System.out.print(score[i]+" ");//System.out.print(str1[i]+" ");//System.out.println();//}//int choose;String[] ans = new String[4];String[] str2 = new String[M];String[] ch = new String[M];int[] sum=new int[M];int[] num=new int[M];for(int i=0;i<N;i++) {for(int k=0;k<M;k++) {//char left = System.in.read();//char getChar = sc.nextLine().charAt(0);//for(int q=0;q<1;q++) {//char c = sc.next().charAt(0);//}choose = sc.nextInt();for(int j=0;j<choose;j++) {ans[j] = sc.next();}for(int z=0;z<choose;z++) {str2[k] = str2[k]+ans[z];}if(str1[k].equals(str2[k])) {sum[i]=sum[i]+score[k];}else {num[k]++;}//char right = sc.next().charAt(0);//char getChar2 = sc.nextLine().charAt(0);//for(int q=0;q<1;q++) {//char c = sc.next().charAt(0);//}}//for(int a=0;a<M;a++) {//System.out.print(str2[a]+" ");//}////for(int d=0;d<M;d++) {//System.out.println("str1: "+str1[d]+" "+"str2: "+str2[d]);//}for(int d=0;d<M;d++) {str2[d]=null;}}for(int i=0;i<N;i++) {System.out.println(sum[i]);}int tig=0,temp;for(int i=0;i<M;i++) {tig+=num[i];}if(tig==0) {System.out.print("Too simple");}else {for(int j=0;j<M;j++) {for(int k=j+1;k<M;k++) {if(num[j]>num[k]) {temp=num[k];num[k]=num[j];num[j]=temp;}}}System.out.print(num[M-1]+" ");for(int z=0;z<M;z++) {if(num[M-1]==num[z]) {System.out.print((z+1)+" ");}}}sc.close();}}
阅读全文
0 0
- PAT - 1058. 选择题(20)
- 1058. 选择题(20) PAT
- PAT Basic 1058. 选择题(20)(C语言实现)
- PAT 乙级 1058. 选择题(20)
- 1058. 选择题(20) PAT乙级
- PAT乙级 1058. 选择题(20)
- PAT乙级 1058. 选择题(20)
- [PAT乙级]1058. 选择题(20)
- pat 乙级 1058. 选择题(20)
- PAT乙级1058. 选择题(20)
- PAT 乙级 1058. 选择题(20)
- PAT 1058. 选择题(20) C++
- PAT乙级 1058. 选择题 C语言
- 1058. 选择题(20)-PAT乙级真题
- PAT BASIC LEVEL 1058. 选择题(20)
- 1058. 选择题(20) PAT乙级真题
- PAT-B 1058. 选择题
- PAT-B 1058. 选择题
- Python中eval()函数的功能及使用方法
- Rolle中值定理的两个数学推论证明
- webpack配置
- PS常用快捷键
- 《CS PhD Journey》Chapter 0 Preface
- PAT 1058. 选择题(20) C++
- AASubviews
- 七、Matlab之备考习题总结
- Dreamweaver mx 2004破解教程(附注册码/下载地址)
- 生成 英文字母+年月日+四位随机数
- ajax跨域解决方案
- 枚举——熄灯问题
- hadoop
- Ubuntu14.04 opencv2.4.8和opencv3.3.1多版本共存