NPSC補完計劃

登入註冊帳號.

請輸入帳號, 密碼以及預計登入時間
進階搜尋  

最新消息:

歡迎光臨NPSC補完計劃

+ NPSC補完計劃
 最新文章
頁: [1] 2 3 ... 10
 1 
 於: 十二月 03, 2017, 07:33:02 pm 
作者 Felicity - 最新文章 由 Felicity
#include<stdlib.h>
#include<stdio.h>
int main()
{
   int i,n,a,b,c,j=0,k,flag;
   char d,s[5];
   scanf("%d",&n);
   char ans2[n];
   int ans1[n][2];
   for(i=0;i<n;i++)
   {
      flag=0;
      scanf("%d %d %d %c %s",&a,&b,&c,&d,&s);
      for(k=0;k<j;k++)
      {
         if(b==ans1[k][0]&&d==ans2[k])
            flag=1;
      }
      if(s[0]=='A'&&s[1]=='C'&&c<180&&flag==0)
      {
         j++;
         ans2[j-1]=d;
         ans1[j-1][0]=b;
         ans1[j-1][1]=c;
      }
   }
   
   for(i=0;i<j;i++)
   {
      printf("Send balloon of %c to team %d at time %d.\n",ans2,ans1[0],ans1[1]);
   }
   printf("Go get snacks.\n");
   return 0;
}

 2 
 於: 十二月 03, 2017, 07:32:30 pm 
作者 Felicity - 最新文章 由 Felicity
#include<stdlib.h>
#include<stdio.h>
int main()
{
   long long n,k,a;
   scanf("%lld %lld",&n,&k);
   a=n-k-k;
   if(a<0)
      a*=-1;
   printf("%lld\n",a);
   return 0;
}

 3 
 於: 十二月 03, 2017, 07:31:44 pm 
作者 Felicity - 最新文章 由 Felicity
#include<stdlib.h>
#include<stdio.h>
int main()
{
   int t,x,y,a,b;
   scanf("%d %d %d",&t,&x,&y);
   t-=y;
   a=y;
   b=t/x;
   a+=t-y*b;
   if(t%x>(x-y))
      a-=t%x-(x-y);
   printf("%d %d\n",a,b);
   return 0;
}

 4 
 於: 十一月 28, 2017, 08:50:49 pm 
作者 Coding.com - 最新文章 由 Coding.com
#include<bits/stdc++.h>
using namespace std;
int arr[1000000];
int main(){
   ios::sync_with_stdio(false);
   cin.tie(0);
   //must do in finals
   int t;
   cin>>t;
   while(t--){
      int a;
      cin>>a;
      int dir=3;
      int x=0,y=0;
      for(int i=0;i<a;i++){
         char k;
         int n;
         cin>>k>>n;
         if(k=='r'){
            for(int j=0;j<n%4;j++){
               dir=(dir+3)%4;
            }
         }
         else if(k=='l'){
            for(int j=0;j<4-n%4;j++){
               dir=(dir+3)%4;
            }
         }
         else if(k=='w'){
            int dx[4]={1,0,-1,0};
            int dy[4]={0,-1,0,1};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         else if(k=='a'){
            int dx[4]={0,1,0,-1};
            int dy[4]={1,0,-1,0};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         else if(k=='s'){
            int dx[4]={-1,0,1,0};
            int dy[4]={0,1,0,-1};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         else{
            int dx[4]={0,-1,0,1};
            int dy[4]={-1,0,1,0};
            x+=dx[dir]*n;
            y+=dy[dir]*n;
         }
         cout<<x<<' '<<y<<'\n';      
      }
      cout<<x<<' '<<y<<'\n';   
   }
}

 5 
 於: 十一月 27, 2017, 08:18:36 pm 
作者 Coding.com - 最新文章 由 Coding.com
二分搜
#include<bits/stdc++.h>
using namespace std;
int arr[50];
bool reached[101];
void scream(int a,int i,int n){
   if(a<0){
      return;
   }
   for(int j=i;j<n;j++){
      if((arr[j]-arr)>a){
         scream(a-1,j-1,n);
         return;
      }
      else{
         reached[j]=true;
      }
   }
}
void scream2(int a,int b){
   if(a<0){
      return;
   }
   for(int j=b;j>=0;j--){
      if((arr-arr[j])>a){
         scream2(a-1,j+1);
         return;
      }
      else{
         reached[j]=true;
      }
   }
}
bool check(int a,int b,int n){
   fill(reached,reached+n,false);
   scream2(a,b);
   for(int i=0;i<b;i++){
      if(!reached){
         return false;
      }
   }
   scream(a,b,n);
   for(int i=b;i<n;i++){
      if(!reached){
         return false;
      }
   }
   return true;
}
int bins(int n,int num){
   int l=0,r=101;
   while(l<=r){
      int m=(l+r)/2;
      if(check(m,num,n)){
         r=m;
      }
      else{
         l=m+1;
      }
      if(l>=r){
         break;
      }
   }
   return r;
}
int main(){
   int a;
   cin>>a;
   if(a==1 or a==0){
      cout<<0;
      return 0;
   }
   cin>>arr[0];
   bool s=true;
   for(int i=1;i<a;i++){
      cin>>arr;
      if(arr!=arr[i-1]){
         s=false;
      }
   }
   if(s){
      for(int i=0;i<a;i++){
         cout<<0<<'\n';
      }
      return 0;
   }
   sort(arr,arr+a);
   fill(reached,reached+a,false);
   for(int i=0;i<a;i++){
      cout<<bins(a,i)<<'\n';
   }
}

 6 
 於: 十一月 18, 2017, 08:59:30 pm 
作者 Felicity - 最新文章 由 Felicity
這是我在比賽結束後才解出來的
用我的自編測資試過
不過沒有上傳Kattis檢查過
所以如果有錯,敬請見諒
#include<stdlib.h>
#include<stdio.h>
int main()
{
   int i,j,k,n,b=0,c=0,d,odd;
   long ans=0;
   scanf("%d",&n);
   int a[n];
   for(i=0;i<n;i++)
   {
      scanf("%d",&a);
   }
   for(i=2;i<=n;i++)
   {
      for(j=0;j<n-i+1;j++)
      {
         b=0;
         c=0;
         odd=0;
         while(c<i&&odd%2==0)
         {
            b++;
            odd=0;
            for(k=0;k<i;k++)
            {
               if(a[j+k]==b)
               {
                  odd++;
                  c++;
               }
            }
         }
         if(odd%2==0)
         {
            ans++;
         }
      }
   }
   printf("%ld\n",ans);
   return 0;
}

 7 
 於: 十一月 18, 2017, 02:19:45 pm 
作者 Felicity - 最新文章 由 Felicity
#include<stdlib.h>
#include<stdio.h>
int main()
{
   int i,t;
   scanf("%d",&i);
   if(i%2==1)
   {
      if(i>1)
         printf("4");
      else
         printf("0");
   }
   for(t=0;t<i/2;t++)
   {
      printf("8");
   }
   if(i==0)
      printf("1");
   printf("\n");
   return 0;
}

 8 
 於: 十一月 18, 2017, 02:19:12 pm 
作者 Felicity - 最新文章 由 Felicity
判斷式比較複雜
耐心慢慢寫就可以了
#include<stdlib.h>
#include<stdio.h>
int main()
{
   int n,m,a,b,i,c,j;
   scanf("%d %d %d %d",&n,&m,&a,&b);
   int s[m][2];
   for(i=0;i<m;i++)
   {
      scanf("%d",&c);
      if(c>a)
      {
         if(c>b)
         {
            if(a>b)
            {
               j=1;
            }
            else
            {
               j=0;
            }
         }
         else
         {
            j=1;
         }
      }
      else
      {
         if(c<b)
         {
            if(a>b)
            {
               j=1;
            }
            else
            {
               j=0;
            }
         }
         else
         {
            j=0;
         }
      }
      if(j==1)
      {
         a++;
         b--;
      }
      else
      {
         a--;
         b++;
      }
      if(a==0)
         a=n;
      if(b==0)
         b=n;
      if(a==n+1)
         a=1;
      if(b==n+1)
         b=1;
      s[0]=a;
      s[1]=b;   
   }
   for(i=0;i<m;i++)
      printf("%d %d\n",s[0],s[1]);
   return 0;
}

 9 
 於: 十一月 18, 2017, 02:17:51 pm 
作者 Felicity - 最新文章 由 Felicity
#include<stdlib.h>
#include<stdio.h>
int main()
{
   unsigned long long a,b,c;
   scanf("%lld %lld",&a,&b);
   c=a/b;
   if(a%b)
      c++;
   printf("%lld\n",c);
   return 0;
}

 10 
 於: 十一月 18, 2017, 02:16:54 pm 
作者 Felicity - 最新文章 由 Felicity
不難,但要慢慢來
#include<stdlib.h>
#include<stdio.h>
int stop(int [],int [],int [],int [],int []);
int main()
{
   int n,i,k,l,j,c,d;
   scanf("%d",&n);
   int ans[n],a[n][5][5],b[25];
   for(i=0;i<n;i++)
   {
      scanf("%d %d %d %d %d",&a[0][0],&a[0][1],&a[0][2],&a[0][3],&a[0][4]);
      scanf("%d %d %d %d %d",&a[1][0],&a[1][1],&a[1][2],&a[1][3],&a[1][4]);
      scanf("%d %d %d %d %d",&a[2][0],&a[2][1],&a[2][2],&a[2][3],&a[2][4]);
      scanf("%d %d %d %d %d",&a[3][0],&a[3][1],&a[3][2],&a[3][3],&a[3][4]);
      scanf("%d %d %d %d %d",&a[4][0],&a[4][1],&a[4][2],&a[4][3],&a[4][4]);
   }
   for(i=0;i<25;i++)
      scanf("%d",&b);
   for(i=0;i<n;i++)
   {
      l=0;
      while(stop(a[0],a[1],a[2],a[3],a[4]))
      {
         for(k=0;k<25;k++)
         {
            c=k/5;
            d=k%5;
            if(b[l]==a[c][d])
            {
               a[c][d]=0;
               break;
            }
         }
         l++;
      }
      ans=l;
   }
   for(i=5;i<=25;i++)
   {
      k=0;
      for(j=0;j<n;j++)
      {
         if(ans[j]==i)
         {
            k=1;
            break;
         }
      }
      if(k==1)
      {
         printf("%d:",i);
         for(j=0;j<n;j++)
         {
            if(ans[j]==i)
            {
               printf(" %d",j+1);
            }
         }
         printf("\n");
      }
   }
   return 0;
}
int stop(int b[],int c[],int d[],int e[],int f[])
{
   int i,a[5][5];
   for(i=0;i<5;i++)
   {
      a[0]=b;
   }
   for(i=0;i<5;i++)
   {
      a[1]=c;
   }
   for(i=0;i<5;i++)
   {
      a[2]=d;
   }
   for(i=0;i<5;i++)
   {
      a[3]=e;
   }
   for(i=0;i<5;i++)
   {
      a[4]=f;
   }
   for(i=0;i<5;i++)
   {
      if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0)
         return 0;
      if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0)
         return 0;
   }
   if(a[0][0]==0&&a[1][1]==0&&a[2][2]==0&&a[3][3]==0&&a[4][4]==0)
      return 0;
   if(a[0][4]==0&&a[1][3]==0&&a[2][2]==0&&a[3][1]==0&&a[4][0]==0)
      return 0;
   return 1;
}

頁: [1] 2 3 ... 10