2015北郵網研機試験
3118 ワード
注意:すべてのコードはテーマの説明に基づいてローカルテストを行い、北郵ojでテストしていないので、ACが必ずできるとは保証されません.
リンクをクリックして、過去の試験問題の要約を表示します.
n(n<=30)の数字をあげて、nより小さい質量の個数を求めます:入力記述の最初の行はデータ群数T(T<=10)です.次に、T行の各行には整数nがある.出力記述は、各入力セットについて、それより小さい質量数を表す数値の個数を出力する.
3 3 5 8
1 2 4
5*5の行列A、B、Cを3つあげて、順番に乗算した結果行列D、D=ABCを求めさせます.
入力記述には複数のデータのセットがあり、最初の行はデータの合計数です.各グループのデータは3つの5*5の行列を入力し、各数の値範囲は[0,10]である.
出力記述一つの行列D即ち答えを出力する
1 1 2 3 4 5 6 5 8 9 7 6 5 7 8 4 5 6 3 2 1 2 3 1 4 5 1 2 3 4 5 3 2 1 4 5 6 5 4 1 2 6 2 1 4 5 3 2 1 3 4 7 8 9 6 3 1 2 4 5 6 3 2 1 4 5 3 2 1 8 6 3 0 0 1 0
886 734 804 1112 832 2074 1700 1852 2634 2005 1791 1462 1589 2280 1740 942 722 770 1234 954 848 662 710 1072 788
ハッシュはコンピュータ科学でよく用いられる圧力次元マッピング方式である.大文字のみを含む文字列については、学母A−Zがそれぞれ0〜25の数字を表し、文字列全体のハッシュ値が空文字列内のすべての文字の重み和である簡単なハッシュマッピング方法を定義することができる.ここで、N(N<=105)個の長さが103を超えない大文字のみを含む文字列が与えられる.次に、すべてのハッシュ値がXの文字列が与えられ、入力順に出力され、データ入力保証総長が4*107を超えない入力記述は、文字列の個数を表す整数N(N<=105)を最初に入力する.次のN行は、1行あたり1000を超えない文字列を含む.最後に整数Xを入力します.出力記述は、すべてのハッシュ値がXである文字列を入力順に出力する.
5 AAAA ABC ZZ A AAA
AAAA A AAA
vector文字列配列を使用します.
テーマが長くて、複雑で、あきらめました.
リンクをクリックして、過去の試験問題の要約を表示します.
A素数統計
タイトルの説明
n(n<=30)の数字をあげて、nより小さい質量の個数を求めます:入力記述の最初の行はデータ群数T(T<=10)です.次に、T行の各行には整数nがある.出力記述は、各入力セットについて、それより小さい質量数を表す数値の個数を出力する.
サンプル入力
3 3 5 8
サンプル出力
1 2 4
解析
#include
#include
using namespace std;
bool prime(int x)
{
int ok=1;
for(int i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
ok=0;
break;
}
}
return ok;
}
int main()
{
int T;
cin>>T;
while(T--)
{
int n,count=0;
cin>>n;
for(int i=2;i
B行列連乗
タイトルの説明
5*5の行列A、B、Cを3つあげて、順番に乗算した結果行列D、D=ABCを求めさせます.
入力記述には複数のデータのセットがあり、最初の行はデータの合計数です.各グループのデータは3つの5*5の行列を入力し、各数の値範囲は[0,10]である.
出力記述一つの行列D即ち答えを出力する
サンプル入力
1 1 2 3 4 5 6 5 8 9 7 6 5 7 8 4 5 6 3 2 1 2 3 1 4 5 1 2 3 4 5 3 2 1 4 5 6 5 4 1 2 6 2 1 4 5 3 2 1 3 4 7 8 9 6 3 1 2 4 5 6 3 2 1 4 5 3 2 1 8 6 3 0 0 1 0
サンプル出力
886 734 804 1112 832 2074 1700 1852 2634 2005 1791 1462 1589 2280 1740 942 722 770 1234 954 848 662 710 1072 788
解析
#include
#include
using namespace std;
void input(int t[5][5])
{
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
cin>>t[i][j];
}
}
}
int main()
{
int T;
cin>>T;
while(T--)
{
int a[5][5],b[5][5],c[5][5],cur[5][5],ans[5][5];
memset(ans,0,sizeof(ans));
memset(cur,0,sizeof(cur));
input(a);
input(b);
input(c);
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
for(int k=0; k<5; k++) cur[i][j]=cur[i][j]+a[i][k]*b[k][j];
}
}
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
for(int k=0; k<5; k++) ans[i][j]=ans[i][j]+cur[i][k]*c[k][j];
}
}
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
cout<
Cハッシュマッピング
タイトルの説明
ハッシュはコンピュータ科学でよく用いられる圧力次元マッピング方式である.大文字のみを含む文字列については、学母A−Zがそれぞれ0〜25の数字を表し、文字列全体のハッシュ値が空文字列内のすべての文字の重み和である簡単なハッシュマッピング方法を定義することができる.ここで、N(N<=105)個の長さが103を超えない大文字のみを含む文字列が与えられる.次に、すべてのハッシュ値がXの文字列が与えられ、入力順に出力され、データ入力保証総長が4*107を超えない入力記述は、文字列の個数を表す整数N(N<=105)を最初に入力する.次のN行は、1行あたり1000を超えない文字列を含む.最後に整数Xを入力します.出力記述は、すべてのハッシュ値がXである文字列を入力順に出力する.
サンプル入力
5 AAAA ABC ZZ A AAA
サンプル出力
AAAA A AAA
解析
vector文字列配列を使用します.
#include
#include
#include
using namespace std;
int main()
{
int N,t,o=0;
vector s;
cin>>N;
for(int i=0;i>ss;
s.push_back(ss);
}
cin>>t;
for(unsigned int i=0;i
D HTML変換
テーマが長くて、複雑で、あきらめました.