2019 NPSC 國中組 初賽 比賽題解
2019 NPSC 國中組 初賽 比賽題解
題解:
pA:
題意:
找出3個大小為n(n<=100000)的陣列裡的最小值
解法:
合併,排序,輸出
小心溢位
code:
- #include<bits/stdc++.h>
- using namespace std;
- long long n,arr[500001];
- int main(){
- cin>>n;
- for(int i=0;i<3*n;i++)
- {
- cin>>arr[i];
- }
- sort(arr,arr+3*n);
- long long sum=0;
- for(int i=0;i<n;i++) sum+=arr[i];
- cout<<sum<<'\n';
- }
pB:
題意:
輸入為0~2之間的整數
若輸入0,輸出1
若輸入1,輸出2
若輸入2,輸出0
輸入為0~2之間的整數
若輸入0,輸出1
若輸入1,輸出2
若輸入2,輸出0
解法:
照著打
code:
code:
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- if(n==0)cout<<1<<'\n';
- if(n==1)cout<<2<<'\n';
- if(n==2)cout<<0<<'\n';
- }
pC:
題意:
請配合外星人的時間計數系統輸出過了多少時間
請配合外星人的時間計數系統輸出過了多少時間
解法:
照著打就行了,沒有很難的測資
code:
照著打就行了,沒有很難的測資
code:
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- int n,m,k,n1,m1,k1,t;
- char c1,c2;
- cin>>n>>m>>k;
- cin>>t;
- int a1,a2,a3;
- for(int i=0;i<t;i++)
- {
- cin>>n1>>c1>>m1>>c2>>k1;
- cin>>a1>>a2>>a3;
- k1+=a3;
- if(k1>=k)
- {
- m1+=k1/k;
- k1%=k;
- }
- m1+=a2;
- if(m1>=m)
- {
- n1+=m1/m;
- m1%=m;
- }
- n1+=a1;
- if(n1>=n) n1%=n;
- cout<<n1<<":"<<m1<<":"<<k1<<'\n';
- }
- }
pD:
題意:待補
解法:待補
pE:
解法:
模擬
並加入n=0的特判
code:
模擬
並加入n=0的特判
code:
- #include<iostream>
- using namespace std;
- int main(){
- int x,y,z,t;
- int r=0,day=0;
- cin>>x>>y>>z;
- if(x==0){
- cout<<0<<'\n';
- return 0;
- }
- if(y-z>0||y>=x){
- while(++day){
- r+=y;
- if(r>=x)break;
- r-=z;
- }
- cout<<day<<'\n';
- }
- else cout<<"-1"<<'\n';
- }
pF:
題意:待補
解法:待補
希望有人能提供pD和pF
希望有人能提供pD和pF
Comments
Post a Comment