diff options
-rw-r--r-- | .cproject | 12 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .settings/org.eclipse.cdt.core.prefs | 6 | ||||
-rw-r--r-- | Sources/GraphAlgo.cpp | 47 |
4 files changed, 66 insertions, 0 deletions
@@ -23,6 +23,9 @@ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1431040230" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug"> <option id="gnu.cpp.compiler.exe.debug.option.optimization.level.2141303895" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="gnu.cpp.compiler.exe.debug.option.debugging.level.1202600613" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/> + <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1128524278" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> + <listOptionValue builtIn="false" value="/home/haidong/messAround/googletest/googletest/include/gtest"/> + </option> <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.51594479" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> </tool> <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.869290367" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"> @@ -32,6 +35,13 @@ </tool> <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.642571755" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/> <tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.803564522" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug"> + <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.link.option.paths.1874108310" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> + <listOptionValue builtIn="false" value="/home/haidong/messAround/googletest/build/lib"/> + </option> + <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.link.option.libs.403224170" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> + <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="gtest"/> + <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="gtest_main"/> + </option> <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.75394371" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input"> <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> <additionalInput kind="additionalinput" paths="$(LIBS)"/> @@ -120,4 +130,6 @@ </storageModule> <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> + <storageModule moduleId="refreshScope"/> + <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> </cproject> diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3df573f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/Debug/ diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 0000000..c8ec5df --- /dev/null +++ b/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,6 @@ +doxygen/doxygen_new_line_after_brief=true +doxygen/doxygen_use_brief_tag=false +doxygen/doxygen_use_javadoc_tags=true +doxygen/doxygen_use_pre_tag=false +doxygen/doxygen_use_structural_commands=false +eclipse.preferences.version=1 diff --git a/Sources/GraphAlgo.cpp b/Sources/GraphAlgo.cpp new file mode 100644 index 0000000..d04987f --- /dev/null +++ b/Sources/GraphAlgo.cpp @@ -0,0 +1,47 @@ +#include <iostream> +#include <vector> +#include <algorithm> +#include <gtest/gtest.h> + +using std::vector; + +static long getMaxDotProduct(vector<int> a, vector<int> b) { + std::sort(a.begin(), a.end()); + std::sort(b.begin(), b.end()); + long result = 0; + for (int i = 0; i < b.size(); i++) { + result = (long) a[i]*b[i]+result; + } + return result; +} + +TEST(MaxDotProduct, Max1) { + vector<int> a = { 60, 100, 120 }; + vector<int> b = { 20, 50, 30 }; + ASSERT_EQ(getMaxDotProduct(a, b), 10200); +} + +//TEST(MaxDotProduct, Max2) { +// vector<int> a = { 23 }; +// vector<int> b = { 39 }; +// ASSERT_EQ(getMaxDotProduct(a, b), 897); +//} +// +//TEST(MaxDotProduct, Max3) { +// vector<int> a = { 1,3,-5 }; +// vector<int> b = { -2,4,1 }; +// ASSERT_EQ(getMaxDotProduct(a, b), 23); +//} + +//int main() { +// size_t n; +// std::cin >> n; +// vector<int> a(n), b(n); +// for (size_t i = 0; i < n; i++) { +// std::cin >> a[i]; +// } +// for (size_t i = 0; i < n; i++) { +// std::cin >> b[i]; +// } +// std::cout << getMaxDotProduct(a, b) << std::endl; +//} |