#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<"To iterate is human, to recurse divine."<<endl;return0;}
L1-074 两小时学完C语言 (5 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<a-b*c<<endl;return0;}
L1-075 强迫症 (10 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;if(s.length()==6){for(int i=0;i<6;i++){if(i==4)cout<<"-";
cout<<s[i];}cout<<endl;}else{
int temp=(s[0]-'0')*10+(s[1]-'0');if(temp<22)cout<<20;else cout<<19;for(int i=0;i<4;i++){if(i==2)cout<<"-";
cout<<s[i];}cout<<endl;}return0;}
L1-076 降价提醒机器人 (10 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;while(n--){
double p;
cin>>p;if(p<m){printf("On Sale! %.1lf\n",p);}}return0;}
L1-077 大笨钟的心情 (15 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
int sj[24];for(int i=0;i<24;i++){
cin>>sj[i];}
int t;while(cin>>t){if(t<0||t>23)break;
cout<<sj[t]<<" ";if(sj[t]>50)cout<<"Yes"<<endl;else cout<<"No"<<endl;}return0;}
L1-078 吉老师的回归 (15 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
string s[35];getchar();for(int i=0;i<n;i++){getline(cin,s[i]);}
int ans=0;for(int i=0;i<n;i++){if((s[i].find("qiandao")==string::npos)&&(s[i].find("easy")==string::npos)){if(m==0){
ans=i;break;}
m--;}}if(ans!=0){
cout<<s[ans]<<endl;}else{
cout<<"Wo AK le"<<endl;}return0;}
L1-079 天梯赛的善良 (20 分)
#include <bits/stdc++.h>
using namespace std;const int maxn =1e6+5;
int a[maxn];
int main(){
int n;
cin>>n;
int temp;for(int i=0;i<n;i++){
cin>>temp;
a[temp]++;}for(int i=1;i<maxn;i++){if(a[i]!=0){
cout<<i<<" "<<a[i]<<endl;break;}}for(int i=maxn-1;i>=1;i--){if(a[i]!=0){
cout<<i<<" "<<a[i]<<endl;break;}}return0;}
L1-080 乘法口诀数列 (20 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
int a1,a2,n;
cin>>a1>>a2>>n;
int a[1005];
a[0]=a1,a[1]=a2;
int index=2;for(int i=2;i<n+5;i++){
int temp=a[i-1]*a[i-2];if(temp<10){
a[index++]=temp;}else{
int b[1005],k=0;while(temp>0){
b[k++]=temp%10;
temp/=10;}for(int j=k-1;j>=0;j--){
a[index++]=b[j];}}}for(int i=0;i<n-1;i++){
cout<<a[i]<<" ";}cout<<a[n-1]<<endl;return0;}
L2-037 包装机 (25 分)
#include <bits/stdc++.h>
using namespace std;const int maxn =1e3+5;
int book[maxn];
string s[maxn];
int main(){
int N,M,S;
cin>>N>>M>>S;for(int i=0;i<N;i++){
cin>>s[i];}memset(book,0,sizeof(book));
int OP;
stack<char>st;
int top=0;
vector<char>v;while(cin>>OP){if(OP==-1)break;switch(OP){case0:if(!st.empty()){
v.push_back(st.top());
st.pop();
top--;};break;default:if(book[OP-1]>=s[OP-1].length()){break;}if(top==S){
v.push_back(st.top());
st.pop();
top--;}
st.push(s[OP-1][book[OP-1]]);
book[OP-1]++;
top++;;break;}}for(int i=0;i<v.size();i++){
cout<<v.at(i);}cout<<endl;return0;}
L2-038 病毒溯源 (25 分)
//20分代码,待改
#include <bits/stdc++.h>
using namespace std;const int maxn =1e4+5;
int tree[maxn];
int sum=0;
int YYY;voidinit(int N){for(int i=0;i<N;i++){
tree[i]=i;}}
int get(int x){
sum++;if(x==tree[x]){return x;}get(tree[x]);}voidput(int x){if(x!=tree[x]){put(tree[x]);}if(x==tree[x])return;
cout<<" "<<x;}voidMerge(int x,int y){
tree[y]=x;}
int main(){
int N;
cin>>N;init(N);for(int i=0;i<N;i++){
int j;
cin>>j;if(j!=0){
int t;while(j--){
cin>>t;Merge(i,t);}}}
int ans=0,mark=0;for(int i=N-1;i>=0;i--){
sum=0;get(i);if(ans<=sum){
ans=sum;
mark=i;}}
cout<<ans<<endl;
int YYY=get(mark);
cout<<YYY;put(mark);
cout<<endl;return0;}
L2-039 清点代码库 (25 分)
#include <bits/stdc++.h>
using namespace std;const int maxn=1e4+5;
struct Seq{
vector<int> v;
int sum;}t[maxn];
bool cmp(Seq a,Seq b){if(a.sum==b.sum){for(int i=0;i<a.v.size();i++){if(a.v.at(i)!=b.v.at(i)){return a.v.at(i)<b.v.at(i);}}}else{return a.sum>b.sum;}}
int main(){
int n,m;scanf("%d %d",&n,&m);
map<vector<int>,int>mp;
int p,ans=0,k=0;for(int i=0;i<n;i++){
vector<int>temp;for(int j=0;j<m;j++){scanf("%d",&p);
temp.push_back(p);}if(mp[temp]==0){
ans++;}
mp[temp]++;}
map<vector<int>,int>::iterator it;for(it=mp.begin();it!=mp.end();it++){
t[k].v=it->first,t[k++].sum=it->second;}sort(t,t+k,cmp);printf("%d\n",ans);for(int i=0;i<k;i++){printf("%d ",t[i].sum);for(int j=0;j<t[i].v.size()-1;j++){printf("%d ",t[i].v.at(j));}printf("%d\n",t[i].v.at(t[i].v.size()-1));}return0;}
L2-040 哲哲打游戏 (25 分)
#include <bits/stdc++.h>
using namespace std;
int main(){
int N,M;scanf("%d %d",&N,&M);
map<int,vector<int>>mp;
int t,p;for(int i=1;i<=N;i++){scanf("%d",&t);for(int j=0;j<t;j++){scanf("%d",&p);
mp[i].push_back(p);}}
int ans=1;
int dang[105];memset(dang,0,sizeof(dang));while(M--){
int OP,sel;scanf("%d %d",&OP,&sel);switch(OP){case0: ans=mp[ans].at(sel-1);break;case1: dang[sel]=ans;cout<<ans<<endl;break;case2: ans=dang[sel];break;}}
cout<<ans<<endl;return0;}