과제 도와주기 by okudaP

def sum2(lst) :
    if not lst :
        return 0

    return lst[0] + sum2(lst[1:])

    

list1 = [1,3,5,7,9]
#list1.reverse()
print(sum2(list1))


vulnerability_management_solidity.sol by okudaP

pragma solidity ^0.4.21

contract VM {
    address maker;
    uint status;
   
    struct Company
    {
        uint c_id;
        string c_name;
        string c_details;
        string c_link;
        address c_addr;
    }

    struct Product
    {
        uint p_id;
        uint p_c_id;
        string p_name;
        string p_details;
        string p_version;
        string p_link;
    }

    struct Vuln
    {
        uint vl_id;
        string v_name;
        string v_link;
        uint v_p_id;
        uint v_c_id;
        uint v_cve_num;
        string v_poc;
    }

    uint co_no;
    uint pr_no;
    uint vl_no;
    mapping (uint => Company) Companys;
    mapping (uint => Product) Products;
    mapping (uint => Vuln) Vulns;
    
    function start()
    {
        if (status != 1)
        {
            maker = msg.sender;
            status = 1;
            co_no =1;
            pr_no =1;
            vl_no =1;
        }
    }

    function register_vendor (string c_name, string c_details, string c_link) returns (uint co_id)
    {
        co_id = co_no++;
        Companys[co_id] = Company (co_id, c_name, c_details, c_link, msg.sender);
    }

    function add_prod(string p_name, string p_details, string p_version, string p_link, uint p_c_id) returns (uint pr_id)
    {
        if(Companys[p_c_id].c_addr == msg.sender)
        {
            pr_id = pr_no++;
            Products[pr_id]= Product(pr_id, p_c_id, p_name, p_details, p_version, p_link);     
        }
    }

    function add_vuln(string v_name, string v_link, uint v_p_id, uint v_c_id, uint v_cve_num, v_poc) returns (uint vl_id)
    {
        if(Companys[v_c_id].c_addr == msg.sender)
        {
            if (Products[v_p_id].p_id == v_p_id)
            {
                vl_id = vl_no++;
                Vulns[vl_id] = Vuln(vl_id, v_name, v_link, v_p_id, v_c_id, v_cve_num, v_poc);
            }    
        }
    }

    function list_vendor_details(uint co_id) returns (uint a, string b, string c, string d)
    {
        if(Companys[co_id].c_id == co_id)
        {
            a=Companys[co_id].c_id;
            b=Companys[co_id].c_name;
            c=Companys[co_id].c_details;
            d=Companys[co_id].c_link;
        }
    }

    function list_products_details(uint p_id) returns (uint a, string b, string c, string d, string e)
    {
        if(Products[p_id].p_id ==p_id)
        {
            a = Products[p_id].p_id;
            b = Products[p_id].p_name;
            c = Products[p_id].p_details;
            d = Products[p_id].p_version;
            e = Products[p_id].p_link;
        }
    }

    function list_vuln_details(uint vl_id) returns (uint a, string b, string c, uint d, string e)
    {
        if (Vulns[vl_id].vl_id ==vl_id)
        {
            a = Vulns[vl_id].vl_id;
            b = Vulns[vl_id].v_name;
            c = Vulns[vl_id].v_link;
            d = Vulns[vl_id].v_cve_num;
            e = Vulns[vl_id].v_poc;
        }
    }
}

지난번에 과제 도와줬음(Keep) by okudaP

from collections import Counter

dic1 = {'a':100, 'b':150,'c':240}
dic2 = {'b':200,'e':450,'f':330}
dic3 = {'c':100,'f':110,'e':500,'a':60}

temp = Counter(dic1)
temp1 = Counter(dic2)
temp2 = Counter(dic3)
total = temp+temp1+temp2

print(dict(total))

아 존나 일하기 싫어 by okudaP

ㅇㄹㄴㅁㅁㅇㄹ나아ㅏㅏ아아아앙아ㅏ아아각아ㅏㄹ앙

no. 3805 by okudaP

말이 이친수(이진수아님)이지 사실 피보나치 수열이다. 
다만 재귀로 구현하면 TLE가 생길 수 있으므로 메모이제이션을 사용하여 O(n)에 가깝게 로직을 짜도록 한다.

#include <iostream>
#include <stdio.h>

using namespace std;
long long fibo_memo[10001] = {0,1,1,};
int fib(int n);
double fibo_while(int n);

long long fibo(int n);

int main()
{
    long long n;
    cin >> n;
//    cout << "fibonacci result : " << fibo(n) << endl;
    cout << fibo(n) << endl;
    /*
    int input;
    int result=0;
    cin >> input;
    */
//    result = fibo_while(input);
    /*
    for(int i=1; i<=input; i++)
    {
        result += fib(i);
        cout << fib(i) << "  ";
    }*/
    //result = fib(input);
    //printf("%d",result);
      //cout << "\n";
      //printf("%d",result);
      return 0;
}

long long fibo(int n)
{
    if(fibo_memo[n])return fibo_memo[n];
    else return fibo_memo[n] = fibo(n-2) + fibo(n-1);
}

double fibo_while(int n)
{
    int i;
    for(i = 2;i<n;i++) fibo_memo[i-1] + fibo_memo[i-2];
   
    return fibo_memo[n-1]+fibo_memo[n-2];
}
 
int fib(int n)
{
    if(n == 1 || n == 2) return 1;
     else return fib(n-1) + fib(n-2);
}

no. 3101(time over) by okudaP

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<utility>
#include<string.h>

using namespace std;
char ch[300];
char num[300];
int main()
{
    int d;
    int i=0;
    int j;
    int p=0;
    int k;
    char f,s;
    scanf("%d",&d);
//    d++;
//    scanf("%d",&d);
    /*
    while(1) {
        cin.getline(ch,300,'\n');
        
        if(ch[0] == 'm')
    }
    */
    
    for(;;) {
    //    ch[0] = '\0';
    //    num[0] = '\0';
        cin.getline(ch,300,'\n');
    //    gets(ch);    
    //    if(ch[0] != '\0') i++;
        i++;
        if(p==0) {
            i--;
            p++;    
        }
        temp:
        
    //    printf("%d번째 명령어(for문)\n",i);
        
    //    if(i == d) goto temp2;
//        temp2:
        if(ch[0] == 'm'){
            
        //    printf("%c\n%c\n",ch[11],ch[14]);
            while(1) {
            //    num[0] = '\0';
                cin.getline(num,300,'\n');
                i++;
            //    printf("%d번째 명령어(while문)\n",i);
            //    if(p != 0)
            //    printf("%s\n",num);
            //    printf("%s\n%s\n",ch,num);
                
                if(num[0] == 'f'){
                    for(j=11;;j++) {
                        printf("%c",ch[j]);
                        if(ch[j+1] == ',' || ch[j+1] == ' ') {
                            k = j+3;
                            break;
                        }
                    }
                //    i++;
                    printf("\n");
                //    if(i <= d) goto temp2;
                    if(i >= d) goto temp2;
                }
                
                if(num[0] == 's'){
                    for(j=k;;j++) {
                        printf("%c",ch[j]);
                        if(ch[j+1] == ' ' || ch[j+1] == ')') {
                            
                            break;
                        }
                    }
                //    i++;
                    printf("\n");
                //    if(i <= d) goto temp2;
                    if(i >= d) goto temp2;    
                }
                //printf("%c\n",ch[14]);
            
                if(num[0] == 'm'){
                    strcpy(ch,num);
                    num[0] = '\0';
                //    i++;
                //    if(i >= d) goto temp2;
                    goto temp;
                }
        //        if(i <= d) goto temp2;
            }
        }
    //    scanf("%s",ch);
    //    cout << ch << endl;
    //    free(ch);
    /*
        if(ch[0] == 'm') {
            f = ch[10];
            s = ch[13];
        }
    */
    //    if(ch[0] == 'f') printf("%c\n",f);
    //    if(ch[0] == 's') printf("%c\n",s);
        
    //    cin.clear();
    }
    temp2:
    
    return 0;
}

no. 3700 by okudaP

#include<stdio.h>
#include<stdlib.h>
#include<algorithm>

using namespace std;
int *arr;
int sum(int n);

int main()
{
    int k;
    int r;
    int lea=0;
    scanf("%d",&k);
    //i = sum(k);
    arr = (int*)malloc(sizeof(int)*k);
    for(r=0;r<k;r++) scanf("%d",&arr[r]);
    
    lea = sum(k);
    
    printf("%d",lea);
    return 0;
}

int sum(int n)
{
    int len = n;
    int ret = 0;
    int psum = 0;
    int i;
    for(i=0;i<n;i++) {
        psum = max(psum,0)+arr[i];
        ret = max(psum,ret);
    }
    
    return ret;
}

저새끼들은 무슨 생각으로 사는걸까 by okudaP

그냥 다 뒤졌으면 좋겠당 ㅎ

no. 2761 by okudaP

#include<stdio.h>
#include<algorithm>

using namespace std;

int main()
{
    int a;
    int b;
    int data[3];
    scanf("%d %d",&a,&b);
    data[0] = a+b;
    data[1] = a*b;
    data[2] = a-b;
    sort(data,data+3);
    
    printf("%d",data[1]);
    
    return 0;
}

ㅋㅋㅋㅋㅋ 존나 허새부리네 대리새끼 by okudaP

지도 똥줄타는거 똑같을텐데?

1 2 3 4 5 6 7 8 9 10

hitview_image


clickmon_4

cjonmart

popup