KALI Linux 2.0 導入
先日(8/11)にペネトレーションテストに特化したLinuxディストロのKALI Linuxが2.0にアップデートされたので,早速導入してきました.この投稿もKALI Linux内のIceweaselで書いています.
ダウンロードと焼き
当日にダウンロードしていたのですが,どうやらDDoS攻撃があったようでものすごく遅いダウンロード速度でした.これも先日買ってきたデスクトップPC(Lubuntu14.04LTS導入済み)を用いると自分のネットワーク環境としてはそこそこ普通の速度が出たので,今朝ダウンロードしてました.UNetbootinを用いて.isoをUSBメモリに焼いてインストールしました.
インストール
インストール自体はいつも通りのDebian系のインストールだったのですが,なぜか起動してそのままInstallを選択すると,CD-ROMの検出で止まってしまいました.なので,一旦Live DVDで起動してから,再度アプリケーション内からインストールをやっていました.そのままの状態で起動すると画面に対して大きくインストール画面のサイズがずれたので,一度マルチタスク画面に行ってからインストール画面を選択し,最大化して合わせることができました.
日本語入力環境
ある意味最大の問題です.iBus-anthyをインストールしてから(KALI Linux 日本語化 で調べると出てくるサイトの方を参考にしました),色々試しつつもなぜか入力できなかったのですが,弄っててタスクバーの入力メソッドを「Japanese」から「Japanese(Anthy)」にした途端に日本語入力ができるようになったので,そこら辺が関わっているんだと思います.
エディタ
私は一応Vim使いなので,自分の.vimrcをあらかじめドライブに上げておいたものを落として,それを/rootに移動させました..gvimrcも同様の手段で入れ終わりました.vimは端末内で起動するのですが,大きさは端末そのもののプロファイルから設定すれば良いのでさほど問題ではありませんでしたが,問題は見た限り新しいタブを表示させる設定を見つけられませんでした.これはCtl+Shift+tで解決できるようです.
いつもの
かなり前に「真面目に問題解きます」とか書いてたな?あれは「確実」に嘘だ(った)!
AOJ ITP1_7_C Spreadsheet
先週アドバイスを貰いながら書いきました.久々に(いやまぁ2~3日振りくらいなんですけど)自分で方針を立てて核心以外は書くことが出来て良かった.残念なぐらい二次元配列への入力の仕方を忘れていてそこから躓いたので改善したいところです.
概要
行数r列数cから構成されるr*cの表が与えられる.この各行と各列の合計を出力する.
入力
r*cの表が与えられる.
出力
R+1*c+1の大きさの表を出力する.
#include <iostream> using namespace std; const int MAX_N = 100; typedef long long lint; int main() { int r,c; int a[MAX_N+1][MAX_N+1]={0}; int sum=0; //in cin>>r>>c; for(int i=0;i<r;i++){ for(int j=0;j<c;j++){ cin>>a[i][j]; } } //summer for(int i=0;i<r;i++){ for(int j=0;j<c;j++){ a[i][c]+=a[i][j]; a[r][j]+=a[i][j]; sum+=a[i][j]; } } a[r][c]=sum; //out for(int i=0;i<r+1;i++){ for(int j=0;j<c+1;j++){ if((j==c)){ cout<<a[i][j]; }else{cout<<a[i][j]<<" ";} } cout<<endl; } return 0; } //if began /* 1 1 3 4 5 14 2 2 2 4 5 15 3 3 0 1 1 8 2 3 4 4 6 19 8 9 9 13 17 56 */ //if /* 1 1 3 4 5 14 2 2 2 4 5 15 3 3 0 1 1 8 2 3 4 4 6 19 8 9 9 13 17 56 */
ソースコードは至ってシンプルで,入力した各行の最後にその行の合計値を代入.列についても同等.sumに今までのすべての値を代入しておく.a[r][c]へsumに代入しておいた値を代入.最後に列の最後尾かどうかを判定し,もし最後尾ならば空白を開けずに改行させ,そうでない場合は逆の処理をさせる,でなんとか書けました.また,下のコメントアウトされている個所は,//outでif文による最後尾判定を追加したかしないかの結果をコピペしました.//if began(適当固有名詞兄貴オッスオッス)では,1~4行目は最後尾でも空白を開けての改行を行っていましたが,//ifから下にある結果は,すべての行について最後尾では空白を開けていません.
多次元配列の扱い方について忘れていたり,見落としていた箇所はありましたが(a[r][j]+=a[i][j];の部分はなんでくなるのか分からなかった),自分で方針立てて実装できるとやっぱりうれしかったです.