锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
//鎶婁換鎰忛暱搴︾殑杈撳叆錛岄氳繃鏁e垪綆楁硶錛屽彉鎹㈡垚鍥哄畾闀垮害鐨勮緭鍑?nbsp;
// 緇忓吀鐨勫搱甯岀畻娉?nbsp; 榪欎釜棰樼洰鍦ㄥ噺灝戝鏉傚害鐨勬柟闈㈢湡鐨勬湁寰堝鐨勬妧宸у煎緱鎴戝涔?nbsp;
// 鍥犱負鐩存帴瀛樺偍鍥涢」鐨勫?nbsp;鏈夊洓閲嶅驚鐜紝榪欐牱鑰楁椂寰堝錛屾墍浠ュ紑涓涓弧瓚抽鎰忚姹傜殑鏁扮粍瀛樺偍
//絳夊紡涓よ竟鐨勮綆楀煎鏋滃嚭鐜頒笅鏍囩浉絳夊氨璇存槑婊¤凍棰樻剰錛屽悓鏃惰搗鍒頒簡璁℃暟鐨勪綔鐢?br>
//鍥犱負騫蟲柟鐨勪綔鐢ㄤ粠 1 -- 100 寰幆鍑忓皯浜嗗鏉傚害 錛屽彧鏄寰楁渶鍚庝竴瀹氳涔樹互涓涓?6鍝︼紒
#include <iostream>
#include <string>
using namespace std;
int hash[2000010];
int main ()

{
int a, b, c, d;
while ( scanf ("%d %d %d %d", &a, &b, &c, &d ) != EOF )
{
if ( ( a > 0 && b > 0 && c > 0 && d > 0 ) || ( a < 0 && b < 0 && c < 0 && d < 0 ))
{
printf ("0\n");
continue;
}
memset ( hash, 0, sizeof (hash) );
int count = 0;
for ( int i = 1; i <= 100; i ++ )
{
for ( int j = 1; j <= 100; j ++ )
{
hash[ a * i * i + b * j * j + 1000000 ] ++; //姣忎竴涓笉鍚岀殑a*x1^2 + b*x2^2 hash鍊奸兘鏄?nbsp;1
}
}
for ( int i = 1; i <= 100; i ++ )
{
for ( int j = 1; j <= 100; j ++ )
{
count += hash[ 1000000 - c * i * i - d * j * j ]; //濡傛灉鍑虹幇浜嗙浉鍚岀殑hash鍊?nbsp;鍒欙細+ 1
}
}
printf ("%d\n", 16 * count); //鍙嶄箣count浼?nbsp;= 0
}
//system ("pause");
return 0;
}
| Accepted | 1280 | 0MS | 292K | 1236B | G++ |
//鍏稿瀷鐨刪ash: 鐢ㄦ暟緇勪笅鏍囪〃紺轟袱涓ょ浉鍔犳墍寰楀埌鐨勫拰錛屽紑杈熶竴涓弧瓚抽鎰忕殑澶у皬鐨勬暟緇?nbsp;sum錛?br>
//榪欐牱涓嬫爣鐢卞ぇ鍒板皬杈撳嚭m涓氨鍙互
#include <iostream>
#include <string>
using namespace std;
int main ()

{
int a[3001];
int sum[10001];
int n, m;
while ( scanf ("%d %d", &n, &m) != EOF )
{
memset ( a, 0, sizeof (a) );
memset ( sum, 0, sizeof (sum) );
for ( int i = 0; i < n; i ++ )
{
scanf ("%d", &a[i]);
}
int temp;
for ( int i = 0; i < n; i ++ )
{
for ( int j = i + 1; j < n; j++ )
{
temp = a[i] + a[j];
sum[temp] ++;
}
}
int count = 0; //杈撳嚭鍓?nbsp;m 涓暟
for ( int i = 10001; i >= 0 ; i -- )
{
if ( sum[i] )
{
for (int j = 0; j < sum[i]; j ++)
{
count ++;
count == 1 ? printf ("%d", i) : printf (" %d", i);
break;
}
}
break;
}
printf ("\n");
}
// system ("pause");
return 0;
}
| Accepted | 1280 | 843MS | 17888K | 1304B | G++ |
//鍏稿瀷鐨刪ash: 鐢ㄦ暟緇勪笅鏍囪〃紺轟袱涓ょ浉鍔犳墍寰楀埌鐨勫拰錛屽紑杈熶竴涓弧瓚抽鎰忕殑澶у皬鐨勬暟緇?nbsp;sum錛?br>
//榪欐牱涓嬫爣鐢卞ぇ鍒板皬杈撳嚭m涓氨鍙互
#include <iostream>
#include <string>
using namespace std;
int sum[4500000]; //寮鍏ㄥ眬鏁扮粍鎵嶈兘榪?br>
bool cmp ( const int &a, const int &b )

{
return a > b;
}
int main ()

{
int a[3001];
int n, m;
while ( scanf ("%d %d", &n, &m) != EOF )
{
memset ( a, 0, sizeof (a) );
memset ( sum, 0, sizeof (sum) );
//杈撳叆澶勭悊
for ( int i = 0; i < n; i ++ )
{
scanf ("%d", &a[i]);
}
//涓ゆ暟姹傚拰
//int k = n * ( n - 1 ) / 2;
int temp = 0;
for ( int i = 0; i < n; i ++ )
{
for ( int j = i + 1; j < n; j ++ )
{
sum[temp ++] = a[i] + a[j];
}
}
sort ( sum, sum + temp, cmp );
int count = 0;
for ( int i = 0; i< temp; i ++ )
{
count ++;
count == 1 ? printf ("%d", sum[i]): printf (" %d",sum[i]);
if ( count == m )
break;
}
printf ("\n");
}
// system ("pause");
return 0;
}
//蹇樹簡鎶婃渶寮濮嬬殑temp = 1 鏍囪涓?true 鎵浠A 浜?nbsp;
#include <iostream>
#include <string>
using namespace std;
int main ()

{
int t, n;
int mark[100001];
int res[100001];
while ( scanf ("%d", &t ) != EOF )
{
for ( int i = 0; i < t; i ++ )
{
scanf ( "%d", &n );
if ( n < 0 )
{
printf ("-");
n = -n;
}
if ( n == 1 )
{
printf ("1\n ");
continue;
}
memset ( mark, false, sizeof (mark) );
memset ( res, false, sizeof (mark) );
int temp = 1; //鏈鍏堢殑妯℃槸 1
mark [ temp ] = true;
int cnt = 0;
while ( temp )
{
temp *= 10;
res[cnt ++] = temp / n;
temp %= n;
if ( mark[temp] )
break;
mark[temp] = true;
}
printf ("0.");
for ( int i = 0; i < cnt; i ++ )
{
printf ("%d", res[i]);
}
printf ("\n");
}
} 
// system ("pause");
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main ()

{
int t;
int n;
while ( scanf ("%d", &t) != EOF )
{
for ( int i = 0; i < t; i ++ )
{
scanf ( "%d", &n );
bool flag = 0;
int count = 0;
while ( n != 1 )
{
if ( n % 2 == 0 )
{
n = n / 2;
}
else if ( n % 2 != 0 )
{
count ++;
flag = 1;
count == 1 ? printf ("%d", n) : printf (" %d", n);
n = n * 3 + 1;
}
}
if ( !flag )
printf ("No number can be output !\n");
else
printf ("\n");
}
}
// system ("pause");
return 0;
}