2018 PAT CCCC [잠시 구 덩이 를 버 리 고 다음 C4 전 보]

49153 단어
저 는 l1 과 l2 를 보충 하고 2018 년 까지 모든 문 제 를 풀 었 습 니 다. orz l3 는 거의 다 풀 었 습 니 다. 지금 은 이 블 로 그 를 보면 구덩이 라 고 할 수 밖 에 없습니다.https://blog.csdn.net/qq_40831340/article/details/88081617 다 들 고 쳐 주신 걸 환영 합 니 다)
요 며칠 동안 이번 c4 문 제 를 천천히 보완 할 시간 이 있 습 니 다. L1 뒤의 두 개의 테스트 점 은 시험 을 보지 못 했 습 니 다. 원래 팀 의 수량 이 똑 같 을 수 있다 는 것 을 깨 달 았 습 니 다.) L2 팬;
L3 ~ L8 6 중대. - 물 문제.
L1-003.   
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
         ,                  。     ¥9887  ,        ¥988 x 70% =691.60。                 。 
    : 
             (   1      )   ( [1, 9]      ),       。 
    : 
            ,       2  。 
    :
988 7691.60


#include 
#include 
using namespace std;

int main(){
	int n,m;
	while(cin>>n>>m){
		printf("%.2lf
"
,1.0*n*m/10); } return 0; }
L1-004. 2018    
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
20182018wmyy”,    “2018    ”。               。 
    : 
      。 
    : 
       :“2018”;      :“wo3 men2 yao4 ying2 !”。 
    :
      。
    :
2018
wo3 men2 yao4 ying2 !



#include 
#include 
using namespace std;

int main(){
	printf("2018
wo3 men2 yao4 ying2 !"
); return 0; }
L1-005.    
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
             4      ,            。           ,   1   2  ,      “ ! ! !”  1 2    3。 
                  ,                ,    ,             。 
    : 
          [1, 9]       A B,     。 
    : 
      A+B “Wang!”。 
    :
2 1
    :
Wang!Wang!Wang!


#include 
#include 
using namespace std;

int main(){
	int n,m;
	while(cin>>n>>m){
		for(int i=0;i<n+m;i++){
			cout<<"Wang!";
		}
		cout<<endl;
	}
	return 0;
} 

L1-006.    
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
“ ”    ,  “  ”。         ,         ,          。               N x N       ,           “@”     。                 。 
    : 
                    、        N (   100    ),    1      ;   N  ,     N    ,   “@”     。 
    : 
       ,     。  ,               ,    “bu yong dao le”,               。 
     1:
$ 9
 @  @@@@@
@@@  @@@ 
 @   @ @ 
@@@  @@@ 
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
 @  @ @ @
 @  @@@@@
     1:
$$$$$  $ 
$ $ $  $ 
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$
 $$$  $$$
 $ $   $ 
 $$$  $$$
$$$$$  $ 
     2& 3
@@@
 @ 
@@@
     2:
bu yong dao le
&&&
 & 
&&&


#include 
#include 
#include 
using namespace std;

const int maxn = 105;

char mp[maxn][maxn];
char rmp[maxn][maxn];

int main(){
	int n;
	char ch;
	while(cin>>ch>>n){
		getchar();			//        
		int flag=1;
		memset(mp,0,sizeof(mp));
		memset(rmp,0,sizeof(rmp));
		for(int i=0;i<n;i++){
			gets(mp[i]);
		}
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				if(mp[i][j]!=' '){
					rmp[n-1-i][n-1-j]=ch;
				}
				else rmp[n-i-1][n-j-1]=' ';
			}
		}
		for(int i=0;i<n&&flag;i++){
			for(int j=0;j<n&&flag;j++){
				if(mp[i][j]!=' '){
					if(rmp[i][j]==' ')
						flag=0;
						break;
				}
			}
		}
		if(flag) cout<<"bu yong dao le
"
; for(int i=0;i<n;i++){ cout<<rmp[i]<<endl; } } return 0; }
L1-007.     
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
                 ,          ,           3            。   :            ,     1      ,      ;         ,          ,     。              ,          。              。 
    : 
        2      1000      Pa   Pb,      a     b        。            。        30       a,   1       b,         。 
    : 
         : 
The winner is x: P1 + P2 
   x         ,P1           ,P2           。 
    :
327 129
1 0 1
    :
The winner is a: 327 + 1


#include 
#include 
#include 
using namespace std;

int a[5];
int b[5];

int main(){
	int n;
	while(cin>>a[0]>>a[1]){
	//	cout<memset(b,0,sizeof(b));
for(int i=0;i<3;i++){
cin>>n;
b[n]++;
}
//	cout<
//cout<if(b[0]==3){
printf("The winner is a: %d + %d",a[0],b[0]);
}
else if(b[1]==3){
printf("The winner is b: %d + %d",a[1],b[1]);
}
else if(a[0]+b[0]<a[1]+b[1]){
printf("The winner is b: %d + %d",a[1],b[1]);
}
else{
printf("The winner is a: %d + %d",a[0],b[0]);
}
}
return 0;
}
L1-008.    
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
       ,      100     ,                 。             。 
    : 
             N(<= 104)。   N  ,           (    8           )       (<= 100)。 
    : 
        :        (       )、     ,       。          。 
    :
7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 6222 Amy


#include 
#include 
#include 
#include 
#include 
using namespace std;

const int maxn = 10005;

struct p{
	int c;
	string name;
	int cj;
}s[maxn];

bool cmp(p x,p y){
	return x.cj<y.cj;
}

int main(){
	int n;
	while(cin>>n){
		int sum=0;
		for(int i=0;i<n;i++){
			cin>>s[i].name>>s[i].c;
			sum+=s[i].c;
		}
		int ping=sum/n;
		ping/=2;
		for(int i=0;i<n;i++){
			s[i].cj=abs(ping-s[i].c);
		} 
		sort(s,s+n,cmp);
		cout<<ping<<" "<<s[0].name<<endl;
	}
	return 0;
} 
L2-002.    
     
400 ms
     
65536 kB
       
8000 B
     
Standard 
   
  
             ,            。 
    : 
               N(    100 000     ) ——     ,         1   N   。        N    ,    i        i      //     -1。            。 
    : 
         (        1,      )。                       。          ,          。 
    :
9
2 6 5 5 -1 5 6 4 74
1 9

경기 할 때 기억 이 안 나 요. 완전 시간 초과... 비 AC 코드 테스트 점 을 봤 어 요. 6 안 넘 었 어 요.
#include 
#include 
#include 
#include 
#include 
using namespace std;

const int maxn = 100050;
int a[maxn];
int b[maxn];
int an[maxn];

int finds(int x){
	if(x==-1||b[x]!=0){
		return b[x];
	}
	else {
	//	cout<
		return b[x]=finds(a[x])+1;
	}
}

int main(){
	int n;
	ios::sync_with_stdio(false);
	while(cin>>n){
		for(int i=1;i<=n;i++){
			cin>>a[i];
			b[i]=0;
			an[i]=0;
		}
		for(int i=1;i<=n;i++){
			b[i]=finds(i);
		//	cout<
		}
		int ans=-1,pos=0;
		for(int i=1;i<=n;i++){
			if(ans<=b[i]){
				ans=b[i];
			}
		}
		for(int i=1;i<=n;i++){
			if(ans<=b[i]){
				an[pos++]=i;
			}
		}
		cout<<ans<<endl;
		for(int i=0;i<pos;i++){
			printf(i!=(pos-1)?"%d ":"%d
"
,an[i]); } } return 0; }

L2 경기 때 15 점 밖 에 못 받 았 는데 이번에 괜 히 ac 를 다시 써 서 어 쩔 수 없 이...
#include 
#include 
#include 
#include 
#include 
using namespace std;

const int maxn = 10005;

struct stu{
	string name;
	int cj;
}s[maxn];

bool cmp(stu x,stu y){
	if(x.cj==y.cj){
		return x.name<y.name;
	}
	else return x.cj>y.cj;
}

int main(){
	int n,g,k;
	while(cin>>n>>g>>k){
		int sum=0;
		for(int i=0;i<n;i++){
			cin>>s[i].name>>s[i].cj;
			if(s[i].cj>=g){
				sum+=50;
			}
			else if(s[i].cj>=60&&s[i].cj<g){
				sum+=20;
			}
		}
		cout<<sum<<endl;
		sort(s,s+n,cmp);
		int pos=1;
		int tmp=s[0].cj;
		int pw=0;
		for(int i=0;i<n;i++){
			if(tmp!=s[i].cj){
				pos=i+1;
				tmp=s[i].cj;
				if(pw>=k){
					break;
				}
			}
			cout<<pos<<" "<<s[i].name<<" "<<s[i].cj<<endl;
			pw++;
		}
	}
	return 0;
} 

좋은 웹페이지 즐겨찾기