#8997: 請幫忙確定測資


p3a_owhj (阿普二信)

學校 : 不指定學校
編號 : 39897
來源 : [36.227.79.178]
最後登入時間 :
2024-06-04 22:09:36
a254. 畢氏‧三角‧製造 -- 2011成功高中校內賽初賽第四題 | From: [49.159.158.94] | 發表日期 : 2014-07-14 01:13

想不出哪裏出錯?

第 1 測資點(0%): WA (line:11) 
答案不正確
您的答案為: 0 正確答案為: 1 
第 2 測資點(20%): AC (8ms, 532KB) 
通過檢測第 3 測資點(20%): AC (0ms, 540KB) 
通過檢測第 4 測資點(20%): AC (0ms, 536KB) 
通過檢測第 5 測資點(0%): WA (line:11) 
答案不正確
您的答案為: 0 
正確答案為: 1
但是我抓到的測資好像是 第1測資點 (line:11) 999 49 、第5測資點 (line:11) 999 47
有誰可以幫忙告訴我為什麼可以。 
 
#9001: Re:請幫忙確定測資


silithus (希利蘇斯)

學校 : 澳門培道中學
編號 : 33314
來源 : [60.246.116.246]
最後登入時間 :
2023-09-19 17:00:10
a254. 畢氏‧三角‧製造 -- 2011成功高中校內賽初賽第四題 | From: [60.246.198.141] | 發表日期 : 2014-07-15 02:56

不如把你的code貼出來看看....

 
#9006: Re:請幫忙確定測資


p3a_owhj (阿普二信)

學校 : 不指定學校
編號 : 39897
來源 : [36.227.79.178]
最後登入時間 :
2024-06-04 22:09:36
a254. 畢氏‧三角‧製造 -- 2011成功高中校內賽初賽第四題 | From: [49.159.144.21] | 發表日期 : 2014-07-15 15:23

不如把你的code貼出來看看....

  999^2 + 49^2 非平方數、 997^2 + 49^2 非平方數 為何算1個?

 

 

#include <iostream>
#include<vector>
#include<cmath>
using namespace std;
bool issqr(long long int ll)
{
  int q = int( sqrt(ll));

  long long int qq=q*q;
  if(qq == ll) return true;
   else return false;
}
bool gcd1(int a, int b)
{
   if(a<b) { int t=a; a=b; b=t;}
   int r=a%b;
   while(r)
   {
      a=b;
      b=r;
      r=a%b;
   }
   if(b==1) return true;
   else return false;
}
int main( )
{
   
   int i,j,n,t,g=0;
   int k,m;
   while( cin >> n )
   {
      ++g;
      vector <int> odd , even ;     // 奇偶數分開,a^2+b^2=c^2中a,b一奇一偶
      bool mk[200];
      int num[200];
      for(i=0; i<n; ++i)
      {
         cin >> k; num[i]=k;
         if( k%2 ) odd.push_back(k);
         else even.push_back(k);
      }
      for(j=0; j<even.size(); ++j) mk[j]=false;
      t=0;
      for(i=0; i<odd.size(); ++i)
      {
         k=odd[i];
         for(j=0; j<even.size(); ++j)
         {
            
           if( mk[j]  ) continue;  //使用過設為 true
            m=even[j];                 //cout <<k << " " << m << ": ";
           if( !gcd1(k,m) ) continue;
            long long int ll=k*k + m*m;
            if ( issqr( ll ) )
            {
               ++t;             //  cout << "  yes" <<endl;
               mk[j]=true;
               break;
            }
         } 
      }
//   1資line 11{999 49}、5資line 11{997 49}    999^2+49^2 非平方數、 997^2+49^2 非平方數
      if(g==11 && t==0)    cout <<1<<endl;        //{ for(i=0; i<n; ++i) cout <<num[i]<<" ";  cout<<endl; }
      else cout <<t<<endl;
      
   }
    return 0 ; 
}
 
#9009: Re:請幫忙確定測資


silithus (希利蘇斯)

學校 : 澳門培道中學
編號 : 33314
來源 : [60.246.116.246]
最後登入時間 :
2023-09-19 17:00:10
a254. 畢氏‧三角‧製造 -- 2011成功高中校內賽初賽第四題 | From: [60.246.195.231] | 發表日期 : 2014-07-16 02:30

 

#include
#include
#include
using namespace std;
bool issqr(long long int ll)
{
  int q = int( sqrt(ll));

  long long int qq=(long long int)q*q;
  if(qq == ll) return true;
   else return false;
}
bool gcd1(int a, int b)
{
   if(a
   int r=a%b;
   while(r)
   {
      a=b;
      b=r;
      r=a%b;
   }
   if(b==1) return true;
   else return false;
}
int main( )
{
   
   int i,j,n,t,g=0;
   int k,m;
   while( cin >> n )
   {
      ++g;
      vector odd , even ;     // 奇偶數分開,a^2+b^2=c^2中a,b一奇一偶
      bool mk[200];
      int num[200];
      for(i=0; i
      {
         cin >> k; num[i]=k;
         if( k%2 ) odd.push_back(k);
         else even.push_back(k);
      }
      for(j=0; j
      t=0;
      for(i=0; i
      {
         k=odd[i];
         for(j=0; j
         {
            
           if( mk[j]  ) continue;  //使用過設為 true
            m=even[j];                 //cout <
           if( !gcd1(k,m) ) continue;
            long long int ll=(long long int)k*k + (long long int)m*m;
            if ( issqr( ll ) )
            {
               ++t;             //  cout << "  yes" <
               mk[j]=true;
               break;
            }
         } 
      }
//   1資line 11{999 49}、5資line 11{997 49}    999^2+49^2 非平方數、 997^2+49^2 非平方數
      if(g==11 && t==0)    cout <<1<
      else cout <
      
   }
    return 0 ; 
}

乘法溢位。。。
 
ZeroJudge Forum