周练5

Posted bxd123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了周练5相关的知识,希望对你有一定的参考价值。

7-43 阅览室

很快打完  进步了  还有就是读懂题意  之前混淆了弄了很久

技术分享图片
#include<iostream>
#include<cstring>
#include <bits/stdc++.h>
using namespace std;



int main(){

  int n;cin>>n;
  for(int i=1;i<=n;i++)
  {
      int a[1000][2]={0};int sum=0;int ren=0;
      for(;;)
      {
          int num,time1,time2;
          char f;
          cin>>num>>f;
          scanf("%d:%d",&time1,&time2);
          int time=time1*60+time2;
          if(num==0)break;

          if(f==S){a[num][1]=1;a[num][0]=time;}
          if(f==E&&a[num][1]==1) {ren++;sum+=time-a[num][0];a[num][1]=0;}



      }
       if(sum%2==1)sum++;
      if(ren)printf("%d %d
",ren,(sum)/ren);
      else printf("0 0
");

  }



    return 0;
}
View Code

 


 

7-45 整除光棍

一开始模拟  位数不够  后来两个点过不了

技术分享图片
#include<iostream>
#include<cstring>
#include <bits/stdc++.h>
using namespace std;



int main(){

  int x;cin>>x;
  int n=0;int ans=0;

  while(1)
  {
      ans=ans*10+1;n++;
      if(ans>=x){ans%=x;}
      if(ans%x==0)break;

  }
    unsigned long long t=1;
     for(int i=1;i<n;i++)
        t=t*10+1;
      printf("%lld %d",t/x,n);






    return 0;
}
View Code

然后边模拟边打印  

虽然模拟的不太熟练    多打几次  输出整除  求余继续  一开始不能有0; 

技术分享图片
#include<iostream>
#include<cstring>
#include <bits/stdc++.h>
using namespace std;



int main(){

  int x;cin>>x;
  int n=0;int ans=0;
   int key;
  int first=0;
  while(1)
  {
      ans=ans*10+1;n++;
      
      if(ans>=x){first=1;printf("%d",ans/x);ans%=x;}
      else if(first)printf("0");

      if(ans==0){break;}

  }

printf(" %d",n);









    return 0;
}
View Code

 


 

点赞狂魔

用set很简单


7-50 重排链表

 

以上是关于周练5的主要内容,如果未能解决你的问题,请参考以下文章

2021-5-11 CSUST 周练 Codeforces Gym #102894

2021-5-11 CSUST 周练 Codeforces Gym #102894

周练1

cumt周练题解

周练4

周练7