yukicoder No.83 最大マッチング
問題概要
省略
解法
数を大きくするには、桁数を増やせばよい。そのように考えて数を作るためのマッチの本数を見ると、1が2本で作れるので、一番少なくてすむので、基本1をたくさん作ればよいということになる。ただし、nが奇数の場合もあるので、そのときは、1を一つ作る代わりに、7を作ればより大きい数字になる。
ミス
面白い問題。
コード
#include <iostream> #include <queue> #include <vector> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; #define rep(i,n) for(int i=0;i<(n);i++) const int INF = 1e9; int main(void){ int n; cin >> n; if(n % 2 == 1){ printf("7"); n -= 3; rep(i, n / 2){ printf("1"); } printf("\n"); }else{ rep(i, n / 2){ printf("1"); } printf("\n"); } return 0; }