import java.util.Scanner;
class Special_Pairs{
private static Scanner scan;
public static void main(String [] args) {
byte t;
int n;
scan = new Scanner(System.in);
t=scan.nextByte();
int[] a=new int[100000];
while(t>0)
{
int i,j,count=0;
n=scan.nextInt();
for(i=0;i<n;i++)
{
a[i]=scan.nextInt();
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(((a[i]&a[j])==0)||((a[j]&a[i])==0))
{
count++;
}
}
}
t--;
System.out.println(count);
}
}
}
幫助我減少時間這個程序的複雜性大大縮短開發週期以下程序的複雜性
問:
您已經給出了關於大小N的整數數組A你必須報告的數量有序配對(i,j)
,例如A[i] & A[j]=0
。 這裏&
表示BITWISE AND
(i,j)
和(j,i)
被認爲是不同的。
輸入:第一行包含T個測試用例。每個測試的第一行包含N.下一行包含N個整數 - 第i個整數A [i]。
輸出:輸出每個測試用例的這種對數。
限制條件:T≤10; N≤100000; A [1]≤百萬
採樣輸入(明文鏈路)
1 5 41 47 34 40 29
樣本輸出(明文鏈路)
2
說明:這些是需要對(3 5)
(5 3)
歡迎StackOverflow上,這不是一個代碼編寫/功課解決服務,表現出一定的努力。你試過什麼了? – yvesmancera