纳新试题

#include
#include
//8:00 8:10 8:20 8:30 8:40 8:50 X
//9:00 8:50 7:04 8:30 10:00 X 14:00
struct time
{
 char str[20];
 char c;
}t[100],s[100];
int main()
{
 int i;
 int j,k;
 char temp;
 for(i=0;i<7;i++)
 {
  scanf("%s",t[i].str);
  if(t[i].str[0]=='X') 
  {
   t[i].c='X';
  }
  else 
  {
   t[i].c='Y';
   j=0;
   while(t[i].str[j]!=':') j++;
   while(t[i].str[j]!='\0')
   {
    t[i].str[j]=t[i].str[j+1];
    j++;
   }
  }
 }
 for(i=0;i<7;i++)
 {
  scanf("%s",s[i].str);
  if(s[i].str[0]=='X') 
  {
   s[i].c='X';
  }
  else 
  {
   s[i].c='Y';
   j=0;
   while(s[i].str[j]!=':') j++;
   while(s[i].str[j]!='\0')
   {
    s[i].str[j]=s[i].str[j+1];
    j++;
   }
  }
 }
 int ans;
 for(i=0,ans=0;i<7;i++)
 {
  if(t[i].c=='X') 
  continue;
  
  if(s[i].c=='X') {
   ans++;
   continue;
  }
  
  if(strlen(s[i].str)==strlen(t[i].str))
  {
   if(strcmp(s[i].str,t[i].str)>0) {
   ans++; 
   }
  }
  else if(strlen(s[i].str) > strlen(t[i].str)) 
  {
   ans++;
  }
 }
 printf("%d\n",ans);
 return 0;
}
#include
#include
int main()
{
 int t,c,r;
 char map[12][12];
 int book[12][12];
 int b_r[12];
 int b_c[12];
 scanf("%d",&t);
 int i;
 int k,j;
 int x,y;
 int tmep,ans;
 for(i=0;i
#include
int main()
{
 int n;
 int ans;
 while(~scanf("%d",&n))
 {
  if(n<=9)
  printf("%d\n",1);
  else 
  {
   ans=0;
   while(n/5!=0)
   {
    ans+=n/5;
    n=n/5; 
   } 
   printf("%d\n",ans);
  }
 }
 return 0;
}

阶乘后0的秘密

#include
int main()
{
 int n;
 long long sum;
 while(scanf("%d",&n)&&n)
 {
  if(n==1) {
   printf("1\n");
   continue;
  }
  else if(n==2||n==3)
  {
   printf("2\n");
   continue;
  }
  
  sum=2;
  while(n>3)
  {
   sum++;
   n/=2;
  }
  printf("%lld\n",sum);
 }
 return 0;
}
#include
using namespace std;
struct node
{
 int v,w,c;
 double 
}a[1002];
int cmp(struct node a,struct node b)
{
 if(a.w>=b.w)
 return 1;
 else return 0;
}
int main()
{
 int n,m,tip;
 scanf("%d%d%d",&n,&m,&tip);
 int i;
 for(i=0;i m) continue;
  
  if(sum+a[i].c*a[i].v < m)
  {
   sum+=a[i].c*a[i].v;
  } 
 }
 return 0;
}
#include
int main()
{
 int n;
 scanf("%d",&n);
 int temp,cent,x;
 temp=0;
 cent=1;
 while(n--)
 {
  scanf("%d",&x);
  if(x==temp)
  {
   cent++;
  }
  else 
  {
   if(cent==1)
   {
    temp=x;
   }
   else 
    cent--;
  }
 }
 printf("%d",temp);
 return 0;
}

上学吧

#include
#include
int panduan(int n,int m)//n>m
{
 for(int i=2;i<=m;i++)
 {
  if(m%i==0&&n%i==0)
  return 0;
 }
 return 1;//ûÓй«¹²Òò×Ó¡£ 
}
int main()
{
 int a[1002];
 int sum[1002]; 
 memset(a,0,1001);
 a[1]=0;
 a[2]=3;
 sum[2]=3;
 for(int i=3;i<=1000;i++)
 {
  a[i]=1;
  for(int j=2;j

100块钱读不完的题目

#include
#include
#include
using namespace std;
long long gcd(long long a,long long b)
{
 return b?gcd(b,a%b):a;
}
int main()
{
 int a[100002];
 int sum[100002];
 int n,i,k;
 scanf("%d",&n);
 for(i=0;i
#include
#include
int w[20000],v[20000];
int f[15000];
int main()
{
 int n,m,tip;
 int k,i,t,j;
 int count;
 int a,b,s;//a==w,b==v,s==c
 scanf("%d%d%d",&n,&m,&tip);
 for(i=1,k=0,count=0;i<=n;i++)
 {
  scanf("%d%d%d",&a,&b,&s);
  for(j=1;j<=s;j<<=1)
  {
  // printf("j==%d\n",j);
   v[++count]=j*b;
   w[count]=j*a;
   s-=j;
  }
  if(s) {
   v[++count]=s*b;
   w[count]=s*a;
  }
 }
 getchar();
 memset(f,0,sizeof(f));
 for(i=1;i<=count;i++)
 {
  for(j=m;j>=1;j--)
  {
  if(w[i]<=j) f[j]= f[j]>f[j-w[i]]+v[i] ? f[j] : f[j-w[i]]+v[i];
  }
 }
 
 if(f[m]-tip>=0)
 printf("%d",f[m]-tip);
 else 
 printf("GG");
 return 0;
} 

你可能感兴趣的:(纳新试题)