全新题目


【编程题目 |100分】【TP-LINK】真题-SAD-Sum of AbsoluteDifferences


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


语言限定:
C(clang11), C++(clang++11), Pascal(fpc 3.0.2), Java(javac 1.8), Python2(2.7.3), 
PHP(7.4.7), C#(mcs5.4), ObjC(gcc 5.4), Pythen3(3.9), JavaScript Node(12.18.2), JavaScript V8(6.0.0),
Sqlite(3.7.9), R(4.0.3), Go(1.14.4), Ruby(2.7.1), Swift(5.3), matlab(Octave 5.2), Pypy2(pypy2.7.13),
Pypy3(pypy3.6.1), Rust(1.44), Scala(2.11.12), Kotlin(1.4.10), Groovy(3.0.6), TypeScript(4.1.2), Mysql(8.0)


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【【TP-LINK】真题-SAD-Sum of AbsoluteDifferences】

SAD,即Sum of AbsoluteDifferences, 差的绝对值之和;两个图像块对应像素的差的绝对值之和,能衡量两个图像块的相似度。
输入两幅352×288的图像,分别将图像分成88×72个图像块,每个图像块的大小为4×4,输出相同位置图像块的SAD值(共88×72个)。

int SAD (unsigned char *image 1, unsignedchar *image2, int *result);
注意:

(1)作答分成两部分,先用语言简单介绍算法思路,再进行代码实现

(2)image 1, image2都是352×288大小的一维数组,result是88×72大小的一维数组

输入描述


代码实现


JAVA


package com.huawei.uapcc.tm.decoder;

import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看


C++


#include<bits/stdc++.h>

inline int read() {
    int X = 0;
    char ch = getchar();
    while (isdigit(ch)) X = (X << 3) + (X << 1) + (ch ^ 48), ch = getchar();
    return X;
}

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


import random
import numpy as np


def calc_sad():

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看